我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

mysql5.7.9之后,就没有了password函数,所以,使用传统的password()函数修改root密码的话,就会提示sql错误。那么最新版的mysql8.0该如何修改root密码呢?在本文中,苏南大叔将要深入探讨这个问题。

苏南大叔:如何修改mysql8.0的root密码? - mysql8
如何修改mysql8.0的root密码?(图3-1)

本文测试环境:macmysql@8

首次设置mysql密码

最简单安全可靠的方式就是使用mysql_secure_installation命令,这里不但可以修改密码,还可以修改密码策略。具体的使用方式,见这里:

设置好之后,就可以使用mysql命令行登陆了。

mysql -uroot -p

传统修改root密码的sql语句

set password for root@localhost=password('root');

但是,这样的语句,已经不能执行了,直接报错。原因是:现行的mysql,没有password字段了,也没有password()语句了。

错误信息是:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'password('root')' at line 1

苏南大叔:如何修改mysql8.0的root密码? - mysql-password-error
如何修改mysql8.0的root密码?(图3-2)

正确的修改root密码的方式

为了兼容其余的mysql第三方客户端,目前来看,最正确的设置方式是这样的:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

不过,这种方式有如下需要说明的地方:

  • 密码加密方式变更成了更传统的mysql_native_password
  • 密码的值passwordmysql密码策略控制,不一定修改成功的。

最简单的root密码

出于测试目的的话,开发人员都希望root密码是个弱密码。那么下面的sql语句,也许是最弱智密码的设置方法了。注意:设置密码为root,在目前的是mysql8.0中是绝对不能成功的。

select @@validate_password_length;
select @@validate_password_mixed_case_count;
select @@validate_password_number_count;
select @@validate_password_policy;
select @@validate_password_special_char_count;
set global validate_password_policy=0;
set global validate_password_length=4;
set global validate_password_mixed_case_count=0;
set global validate_password_number_count=0;
set global validate_password_special_char_count=0;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'r00t';

上述sql中,root用户的弱密码是r00t。密码策略也修改成了最低级。当然,如果您想知道密码测试相关的设置,下面这条sql语句是最简单的方式。

show variables like 'validate_password%';

苏南大叔:如何修改mysql8.0的root密码? - mysql_pass_rule
如何修改mysql8.0的root密码?(图3-3)

总结

对于mysql8.0,如何设置密码为常使用的弱密码root?目前为止,苏南大叔还没有找到好的办法,一直在提示不符合密码策略。所以,暂时就先搁置这个议题吧。

大家如果知道,如何在mysql8.0下,设置弱密码的方式方法。欢迎给苏南大叔留言。

更多mysql相关文章,请点击这里查看,苏南大叔的mysql相关经验总结:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   mysql