使用go创建MySQL数据库时报错:dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target

问题描述

在使用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盘根目录(避免含中文路径):

使用go创建MySQL数据库时报错:dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target_第1张图片

第2步 创建配置文件

MySQL安装的根目录下创建配置文件my.ini,用于配置字符集、端口等信息,如果有默认配置文件,也可以修改这个默认的配置文件。使用go创建MySQL数据库时报错:dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target_第2张图片
将以下内容复制到新建的配置文件中,其中basedirdatadir设置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
使用go创建MySQL数据库时报错:dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target_第3张图片

第4步 安装

继续在当前路径下,输入命令:mysqld install,安装成功会提示:

D:\mysql-8.0.28-winx64\bin>mysqld install
Service successfully installed.

如下图所示:
使用go创建MySQL数据库时报错:dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target_第4张图片

第5步 添加环境变量

将路径D:\mysql-8.0.28-winx64\bin添加到环境变量:
使用go创建MySQL数据库时报错:dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target_第5张图片

第6步 启动MySQL服务

继续在当前目录下,输入命令:net start mysql:
使用go创建MySQL数据库时报错:dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target_第6张图片

第7步 设置初始密码

输入命令mysqladmin -u root password XXX设置初始密码,其中XXX为要使用的密码:
在这里插入图片描述

第8步 登录MySQL

输入命令:mysql -u root -p
然后输入之前设置的密码就可以登录:
使用go创建MySQL数据库时报错:dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target_第7张图片

安装过程中会遇到的问题

问题一: 执行net start mysql时报错:MySQL 服务无法启动

使用go创建MySQL数据库时报错:dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target_第8张图片

原因:

是因为没有对配置文件初始化,就执行了mysqld install命令

解决办法:

  1. 此时,需要先执行mysqld -remove删除之前的错误安装
  2. 然后执行初始化命令mysqld --initialize
  3. 然后执行安装命令mysqld install
  4. 然后再执行启动服务命令net start mysql

问题二:执行安装命令mysqld install时报错:Install/Remove of the Service Denied!

使用go创建MySQL数据库时报错:dial tcp 127.0.0.1:3306: connectex: No connection could be made because the target_第9张图片

原因

输入cmd,以管理员身份运行控制台,进入MySQL路径(D:mysql-5.7.14-winx64\bin)下,运行mysqld install命令。注意:这里需要以管理员身份运行,否则提示如下:Install/Remove of the Service Denied!

解决办法

使用管理员身份打开CMD,运行相关命令。

你可能感兴趣的:(mysql,数据库,golang)