mysql5.7后修改root用户密码(实测有效)

时间:2023-01-09 16:14:35
5.7版本以后mysql数据库下的user表中已经没有password字段了。

而是将加密后的用户密码存储于authentication_string字段,因此原来的修改root的方法就不可用了。

网上看了许多教程都无法真正更改root密码。

一、首先停掉mysql进程服务

killall -TERM mysqld

二、安全模式启动mysql

mysqld_safe --skip-grant-tables &

三、连接mysql

mysql

四、更改root密码

update mysql.user set authentication_string=password( '1234qwer') where user='root';
注意password(新密码),而且不要加and Host = 'localhost'这部分,会更改失败。

五、刷新权限

mysql> flush privileges;
mysql> quit;

六、重启mysql服务

service mysqld start

七、用新root密码连接

mysql -u root -p
输入新密码可以连接,而且旧密码已失效。