无法启动服务:
mysql5.7突然停止运行,服务也无法启动,在尝试网上各种方法后,最终找到一种有效的解决方案,遂记录如下:
![](https://img-blog.csdnimg.cn/img_convert/ceef62b834a54bfde267103a4adb898b.png)
解决方法:
执行mysqld --install,查看是否已经安装成功
删除 mysqld -remove mysql
重新执行mysqld --install
启动服务net start mysql
发现还是无法启动
![](https://img-blog.csdnimg.cn/img_convert/70ffd29e5afe52910b1d865e8286d3a4.png)
查看日志:mysqld --console
![](https://img-blog.csdnimg.cn/img_convert/b71b8c035ebb666660c6d7f6ffadfdb3.png)
以上可以看到如下错误:
[ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
[ERROR] Fatal error: Failed to initialize ACL/grant/time zones structures or failed to remove temporary table files.
[ERROR] Aborting
解决方法:
1、去C:\Program Files\MySQL\MySQL Server 5.7\bin目录下创建my.ini文件,内容如下:
[mysqld]
basedir=C:\Program Files\MySQL\MySQL Server 5.7
datadir=C:\Program Files\MySQL\MySQL Server 5.7\data
2、清空C:\Program Files\MySQL\MySQL Server 5.7\data目录,里面的信息一会通过命令会自动生成的;(先将data文件夹备份,之后再将备份的信息重新放入data文件夹中)
3、执行 mysqld --initialize --user=mysql --console
4、启动成功;
![](https://img-blog.csdnimg.cn/img_convert/6c6cbef7eeb2c9161e7d721f8ed4971a.png)
无法连接的问题:
完成上面的操作之后,用navicat和CMD登录时,用密码都会报1045-access denied for user 'root'@错,直接输入MySQL反而登录成功;
解决方法
以管理员身份启动CMD,必须是管理员身份
![](https://img-blog.csdnimg.cn/img_convert/219cdd0bb25273d11fe00c50410dda13.png)
执行命令:mysqld --skip-grant-tables
![](https://img-blog.csdnimg.cn/img_convert/aaeab8780c26dd34956ede6ee0ef4e8a.png)
以管理员身份重开个命令窗口
![](https://img-blog.csdnimg.cn/img_convert/6b7f7a54c207c98d045dd269bd556de1.png)
4.执行如下命令:
update mysql.user set authentication_string=password('123456') where user='root';
![](https://img-blog.csdnimg.cn/img_convert/b6821126d27414adcaf821348e4890e0.png)
接下来:管理员权限运行命令:mysqladmin -uroot -p password
![](https://img-blog.csdnimg.cn/img_convert/eafd97a716b48dba9043647ba9a74bc4.png)
这样改完密码后,用Navicat for mysql软件连接正常。