mysql启动问题:Can‘t open the mysql.plugin table. Please run mysql_upgrade to create it.

无法启动服务:

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软件连接正常。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值