记一次MySQL5.6启动服务1067错误排查解决方案

问题:MySQL56服务启动时候,报1067错误。

这个错误的比较常见了,网上的解决方案也是五花八门,本文记录本次解决该问题全过程。

1、以管理员方式允许CMD,进入到MySQL安装路径下的Bin目录。

2、删除MySQL56服务。

sc delete MySQL56

3、尝试使用命令:mysqld --install MySQL56 安装MySQL56服务,但失败了。

4、在机器上搜索,居然在安装目录下发现了安装包缓存,在C:\ProgramData\MySQL\MySQL Installer\Product Cache目录下。

5、尝试使用mysql-5.6.12-winx64.msi修复安装,很顺利的完成了。

6、再次进行上述步骤3,安装MySQL服务。

mysqld --install MySQL56

7、在服务管理器中启动MySQL56服务,成功。

8、测试登录,大问题来了,root用户使用以前的密码登录不进去了,这是要重置root密码的节奏。在忘记 root 密码的情况下,可以进入 mysql 的安全模式,重置 root 密码。

9、停止 MySQL 服务。

net stop mysql56

10、切换到bin目录,使用如下命令,跳过权限检查启动mysql。

mysqld --skip-grant-tables

在这一步,如果配置了my.ini文件,则需要将其引入,则使用如下命令。在my.ini文件中指定了数据的存放路径的话,如果不引入配置文件,则会提示 No such file or directory 错误。

mysqld --defaults-file="C:/ProgramData/MySQL/MySQL Server 5.6/my.ini" --skip-grant-tables

11、连接mysql,打开另一个命令提示符窗口(别关闭上一步安全模式窗口),同样切换到 mysql的bin 目录,输入 mysql 跳过权限验证连接数据库。

mysql

12、重置密码,执行如下命令,重置 root 用户的密码(5.6及之前版本为password字段,5.7 及以后为authentication_string字段)。

update mysql.user set password="123456" where user="root"

13、查询验证下。

select user,password from mysql.user;

14、执行 flush privileges; 命令刷新权限表,密码已经重置完成.

flush privileges;

15、输入 quit 退出。

quit

https://www.cnblogs.com/Wcy100/p/5293578.html

https://www.jb51.net/article/129937.htm

猜你喜欢

转载自www.cnblogs.com/hans_gis/p/12369744.html