暂无图片
MySQL 8.0 怎么修改root密码?
我来答
分享
暂无图片 匿名用户
MySQL 8.0 怎么修改root密码?

我修改/etc/my.cnf文件,在 [mysqld] 配置节点添加skip-grant-tables配置。然后重启服务器,就可以不需要密码登录数据库。

接着我执行下面的命令:

mysql> alter user 'root'@'localhost' identified by '123abc'; ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost' mysql> alter user 'root'@'%' identified by '123abc'; ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'%'

如上所示,都报错,无法修改密码,怎么办?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
薛晓刚

首先你到自己一个正常的MySQL8上建立一个用户,密码是你的123abc。然后select * from mysql.user获得authentication_string这列的值。



然后再你这个skip-grant-tables的数据库上update mysql.user set authentication_string=‘那一串’where user=‘root’ and host=‘localhost’


然后去掉skip-grant-tables重启数据库

暂无图片 评论
暂无图片 有用 0
严少安
暂无图片

mysql8的密码验证方式变了,可以试下这个语法来修改密码:

alter user 'root'@'localhost' identified with mysql_native_password by '123abc';
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏