解决mysql密码错误,在my.ini里添加skip-grant-tables都没有用

1、停止数据库

net stop mysql

2、在mysql的bin目录下,打开cmd窗口,运行如下命令:注意下面的路径是ProgramData下MySQL中my.ini文件的路径
(感觉这和直接在my.ini文件里添加ship-grant-tables没有什么两样,但我在my.ini文件里试过多次,没有一次管用,真的绝望)

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

3、任意打开第二个cmd,连接mysql

mysql -uroot -p

遇到需要输入密码时,直接回车,就可以进去

4、连接好mysql之后,运行命令

show databases;

5、继续使用如下命令

use mysql;

6、使用命令修改root密码(两种情况)

  • 版本为5.7以前的mysql,运行这条语句(此处的新密码为你要设置的新密码)
UPDATE user SET Password=PASSWORD('新密码') where USER='root';update mysql.user set password=PASSWORD("root") where User="root";
  • 版本为5.7及其之后的运行这条语句
UPDATE user SET authentication_string=PASSWORD('新密码') where USER='root';update mysql.user set authentication_string=PASSWORD("root") where User="root";

原因是:mysql中密码的字段名由password变为了authentication_string

For Mysql before 5.7 it is "password"

Since MySQL 5.7 it is "authentication_string"

7、刷新权限

FLUSH PRIVILEGES;

8、退出数据库

quit

9、重新登录数据库,并输入密码就可以了

mysql -uroot -p

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值