linux系统修改mysql数据库root密码

刚开始时,我是这样修改的:
首先登录MySQL。
mysql> use mysql;
mysql> update user set password=password(‘123’) where user=’root’ and host=’localhost’;
mysql> flush privileges;
然后重启mysql服务,可是重新登录时,使用新密码登录时却遭拒绝,使用原密码登录反而登录进去了,这说明修改密码的工作还不起作用,经过各种尝试,还是不行,后面在一篇博客中https://blog.csdn.net/wokao_wg/article/details/78523366?locationNum=9&fps=1受到启发,原来修改密码,需要修改两次,一次authentication_string,一次 password。具体实现可参考如下步骤:
1、编辑my.cnf文件,在mysqld最后一行添加skip-grant-tables,跳过权限验证;
2、使用以下SQL语句进行查询,select * from mysql.user,就会发现password的值和authentication_string(该字段在表的最后一列)的值并不相同,如果两者不一致,将会导致使用密码登录不上;
3.明白这一点,那么就剩下设置authentication_string的值与password一致了,使用以下语句进行修改:
在这里插入图片描述
4、把之前的配置skip-grant-tables去掉也可注释掉,方便以后使用,建议在skip前加上#注释掉,然后重新启动mysql

猜你喜欢

转载自blog.csdn.net/shenxiaomo1688/article/details/82878915