关于mysql中root密码修改无效的问题关于mysql中root密码修改无效的问题

最近碰见过几次mysql root密码修改无效的情况,在此做一下总结。
修改root@localhost密码后并且flush privileges;发现密码未变更,这种情况一般有三种可能。
使用 skip grant tables启动mysql导致,MySQL启动后不启动grant-tables,一般用于root密码忘记修改,修改完root密码后,去掉该参数重启即可应用修改后的密码。

存在root@'%'的用户,导致mysql -uroot -p登录使用的是root@'%'的密码,同时修改所有root用户密码,一般建议安装完成后初始化user表中非root及host不为localhost的用户,不建议新建root@'%'的远程用户,建议使用其他命名

root用户只有一个,但是mysql.user表中plugin使用的并不是mysql_native_password 而是auth_socket,导致用户连接一直使用unix socket空密码进入。修改plugin改回mysql_native_password,然后重新修改root密码并刷新全权限即可。

猜你喜欢

转载自blog.51cto.com/14462421/2422923