mysql-8.0.20安装过程中踩过的坑

一般来说,顺利的安装步骤是这样:

  1. 官网下载最新版本MySQL,这里下载的是解压版的。
  2. 解压,解压完成之后,配置系统环境变量,把安装路径添加到Path中去(后面记得加;号)
  3. 创建my.ini文件
  4. 以管理员的身份打开cmd命令,切换目录到安装路径下的bin目录,执行命令:
  • 执行命令:mysqld -install 出现Service successfully installed表示安装成功
  • 继续执行: mysqld --initialize-insecure --user=mysql# 生成data目录并创建root用户
  • 启动mysql:net start mysql#如果启动成功,就继续执行,不过一般来说,上面步骤没有报错,接下来就没啥问题了
  • 登陆MySQL 命令:mysql -u root -p 密码为空,直接按Enter键进入。

完结撒花~~
岁月静好~~~

然而。。。报错了。。

ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

起先我以为是my.ini文件的问题,逐步排查后发现没问题。

[mysqld]
# 设置3306端口
port=3306
# 设置mysql的安装目录
basedir=D:\software\mysql-8.0.20-winx64\bin
# 设置mysql数据库的数据的存放目录
datadir=D:\software\mysql-8.0.20-winx64\Data
# 允许最大连接数
max_connections=200
# 允许连接失败的次数。这是为了防止有人从该主机试图攻击数据库系统
max_connect_errors=10
# 服务端使用的字符集默认为UTF8
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
# 默认使用“mysql_native_password”插件认证
default_authentication_plugin=mysql_native_password
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
[client]
# 设置mysql客户端连接服务端时默认使用的端口
port=3306
default-character-set=utf8

然后,我尝试初始化mysql数据库,
输入命令:mysqld --initialize --user=root --console

此时报了一个错误:

2020-04-30T07:13:11.662125Z 0 [System] [MY-013169] [Server] D:\迅雷下载\mysql-8.0.20-winx64\bin\mysqld.exe (mysqld 8.0.20) initializing of server in progress as process 15248

2020-04-30T07:13:11.664326Z 0 [ERROR] [MY-010457] [Server] --initialize specified but the data directory has files in it. Aborting.

2020-04-30T07:13:11.664339Z 0 [ERROR] [MY-013236] [Server] The designated data directory D:\迅雷下载\mysql-8.0.20-winx64\data\ is unusable. You can remove all files that the server added to it.

2020-04-30T07:13:11.676977Z 0 [ERROR] [MY-010119] [Server] Aborting

2020-04-30T07:13:11.679009Z 0 [System] [MY-010910] [Server] D:\迅雷下载\mysql-8.0.20-winx64\bin\mysqld.exe: Shutdown complete (mysqld 8.0.20) MySQL Community Server - GPL

图片

但是,仔细看报错信息,不难发现,问题在于data文件,原因是data文件夹已经创建。直接删除该目录下的data文件夹,删除后重新执行命令:

mysqld --initialize --user=root --console

该文件夹会重新生成,成功初始化,并成功生成了一个随机密码:

图片

然而,我重新启动MySQL,然后重新登录,mysql -u root -p,输入刚才随机的密码。。

还是:

ERROR 2003 (HY000): Can’t connect to MySQL server on ‘localhost’ (10061)

再次尝试了一些方法。。我佛了。。

万念俱灰,全部删掉,重新解压缩,从头再来。。

然而,在我更换了文件路径,更改了环境变量等等之后。。

尝试开始重新安装:

出现报错:

“The service already exists

The current server installed: D:\迅雷\mysql-8.0.20-winx64\bin\mysqld MySQL",于是我查看了

任务管理器,发现MySQL服务还在,我明白了:之前安装的mysql没有卸载完,服务没有删除掉~

解决方法:

  • 在cmd中输入”sc query mysql”查看名为mysql的服务
  • 若服务确实存在,则进行删除操作“sc delete mysql"

返回"[SC] DeleteService 成功",则说明删除成功

然后就可以开始安装啦~

终于成功!!啦啦啦~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章