问题描述
在使用go创建MySQL数据库时报错:
2022/01/24 16:59:20 dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target machine actively refused it.
exit status 1
原因分析
刚开始以为是自己创建的语句错误,后来才发现是自己电脑上压根就没有安装MySQL。于是下载安装。
解决过程
第1步 下载
下载地址:https://dev.mysql.com/downloads/file/?id=509736
下载的是.zip
格式的压缩包。名称为mysql-8.0.28-winx64.zip
,为了避免不必要的麻烦,我将其解压后放在了D盘根目录(避免含中文路径):
第2步 创建配置文件
在MySQL
安装的根目录下创建配置文件my.ini
,用于配置字符集、端口等信息,如果有默认配置文件,也可以修改这个默认的配置文件。
将以下内容复制到新建的配置文件中,其中basedir
和datadir
设置mysql
文件夹路径:
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=D:\\mysql-8.0.28-winx64
# 设置mysql数据库的数据的存放目录
datadir=D:\\mysql-8.0.28-winx64\\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
注意:各位同学在拷贝上面内容时,一定不要把版本号和路径写错了,根据自己下载的版本和安装路径填写,路径用双斜线,否则后面初始化通不过
第3步 初始化
使用管理员身份运行CMD
,切换到D:mysql-5.7.14-winx64\bin
路径下,然后输入命令mysqld --initialize
。
第4步 安装
继续在当前路径下,输入命令:mysqld install
,安装成功会提示:
D:\mysql-8.0.28-winx64\bin>mysqld install
Service successfully installed.
如下图所示:
第5步 添加环境变量
将路径D:\mysql-8.0.28-winx64\bin
添加到环境变量:
第6步 启动MySQL服务
继续在当前目录下,输入命令:net start mysql
:
第7步 设置初始密码
输入命令mysqladmin -u root password XXX
设置初始密码,其中XXX
为要使用的密码:
第8步 登录MySQL
输入命令:mysql -u root -p
然后输入之前设置的密码就可以登录:
安装过程中会遇到的问题
问题一: 执行net start mysql
时报错:MySQL 服务无法启动
原因:
是因为没有对配置文件初始化,就执行了mysqld install
命令
解决办法:
- 此时,需要先执行
mysqld -remove
删除之前的错误安装 - 然后执行初始化命令
mysqld --initialize
- 然后执行安装命令
mysqld install
- 然后再执行启动服务命令
net start mysql
问题二:执行安装命令mysqld install
时报错:Install/Remove of the Service Denied!
原因
输入cmd
,以管理员身份运行控制台,进入MySQL
路径(D:mysql-5.7.14-winx64\bin
)下,运行mysqld install
命令。注意:这里需要以管理员身份运行,否则提示如下:Install/Remove of the Service Denied!
解决办法
使用管理员身份打开CMD
,运行相关命令。