环境:MySQL5.7.21 centos
1、 MySQL5.7为root用户随机生成了一个密码,查看命令:
# sudo grep ‘temporary password’ /var/log/mysqld.log
2、得到密码后,再输入# mysql -u root -p 就可以登陆了
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘你的密码’;
3、如果我们想设置简单的比如123456这样的密码,MySQL会报错:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
说我们的密码太过于简单,原来在MySQL5.7 新版本中,增加了安全性,密码的设置与validate_password_policy的值相关,默认为包括数字、大写或小写字母、特殊符号,这时候我们需要修改两方面的设置:
更改密码格式设置:set global validate_password_policy=0;
更改密码长度: set global validate_password_length=1;
即便是我们设置了密码长度为1,但是MySQL默认最小为4位
查看命令:
mysql> select @@validate_password_length;
+----------------------------+
| @@validate_password_length |
+----------------------------+
| 4 |
+----------------------------+
1 row in set (0.00 sec)
设置完成后,再次执行更改密码的命令,只要密码超过四位,就可以通过。
4、更改密码:
use mysql;
update mysql.user set authentication_string=password(‘新密码’) where user=’root’;
flush privileges;
quit;
再次登录就可以使用你的新密码了!