无法启动服务:

mysql5.7突然停止运行,服务也无法启动,在尝试网上各种方法后,最终找到一种有效的解决方案,遂记录如下:

解决方法:

  1. 执行mysqld --install,查看是否已经安装成功

  1. 删除 mysqld -remove mysql

  1. 重新执行mysqld --install

  1. 启动服务net start mysql

发现还是无法启动

查看日志:mysqld --console

以上可以看到如下错误:

[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、启动成功;

无法连接的问题:

完成上面的操作之后,用navicat和CMD登录时,用密码都会报1045-access denied for user 'root'@错,直接输入MySQL反而登录成功;

解决方法

  1. 以管理员身份启动CMD,必须是管理员身份

  1. 执行命令:mysqld --skip-grant-tables

  1. 以管理员身份重开个命令窗口

4.执行如下命令:

update mysql.user set authentication_string=password('123456') where user='root';

接下来:管理员权限运行命令:mysqladmin -uroot -p password

这样改完密码后,用Navicat for mysql软件连接正常。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐