首页 > 技术分享 > MySQL
收藏

安装MySQL5.7后root密码为空,修改密码不生效的解决方法

08/19 11:12
转载于网络

在ubuntu系统中,使用apt-get安装MySQL5.7后,此时root密码是空的,可以使用如下两种SQL语句修改密码。

方式一:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'PWD';

mysql> flush privileges;


方式二:

mysql> UPDATE mysql.user SET authentication_string=PASSWORD('PWD') WHERE user='root' AND host='localhost';

mysql> flush privileges;

注意: 在mysql5.7中,字段password已经被authentication_string代替。


修改完成后,不使用密码仍可以正常登录,修改没生效,出现这种情况,是因为"auth_socket"这个认证插件惹的祸。


安装MySQL5.7后,如果没有为root用户提供密码,它将使用auth_socket插件。该插件只检查用户是否使用UNIX套接字进行连接,然后比较用户名,不关心也不需要密码。


如果要配置密码,需要同时更改插件并设置密码,SQL语句如下所示:

方式一:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PWD';

mysql> flush privileges;


方式二:

mysql> UPDATE mysql.user SET plugin='mysql_native_password', authentication_string=PASSWORD('PWD') WHERE user='root' AND host='localhost';

mysql> flush privileges;


打赏

阅读排行

大家都在搜

博客维护不易,感谢你的肯定
扫码打赏,建议金额1-10元
  • 15601023311