linux CentOS 7.4下 mysql5.7.20 密码改简单的方法

mysql升级5.7版本以后,安全性大幅度上升。

但是呢。。。带复杂的记不祝额额。。本来脑子就不好使,还记那么复杂,尤其是本地就更没必要,还是root方便。

进入mysql

 

  1. mysql> SHOW VARIABLES LIKE 'vali%';
  2. +--------------------------------------+--------+
  3. | Variable_name | Value |
  4. +--------------------------------------+--------+
  5. | validate_password_dictionary_file | |
  6. | validate_password_length | 8 |
  7. | validate_password_mixed_case_count | 1 |
  8. | validate_password_number_count | 1 |
  9. | validate_password_policy | MEDIUM |
  10. | validate_password_special_char_count | 1 |
  11. +--------------------------------------+--------+
  12. 6 rows in set (0.00 sec)
  13.  

根据官方文档可以发现策略为1,即MEDIUM

5.7默认会安装这个插件,若没有安装,则SHOW VARIABLES LIKE 'vali%'则会返回空。对应参数的value值也为默认值,以下是这些值的解释

  1. validate_password_length 8 # 密码的最小长度,此处为8。
  2. validate_password_mixed_case_count 1 # 至少要包含小写或大写字母的个数,此处为1。
  3. validate_password_number_count 1 # 至少要包含的数字的个数,此处为1。
  4. validate_password_policy MEDIUM # 强度等级,其中其值可设置为0、1、2。分别对应:
  5. 【0/LOW】:只检查长度。
  6. 【1/MEDIUM】:在0等级的基础上多检查数字、大小写、特殊字符。
  7. 【2/STRONG】:在1等级的基础上多检查特殊字符字典文件,此处为1。
  8. validate_password_special_char_count 1 # 至少要包含的个数字符的个数,此处为1。
所以你更改密码必须满足:数字、小写字母、大写字母 、特殊字符、长度至少8位

怎么改呢??

想要关闭这个插件,则在配置文件中加入 validate_password=off 并重启mysqld即可

在 vim /etc/my.cnf配置文件中增加

 

 

[mysqld]
validate_password=off

然后重启mysql 就 ok了.

 

重新启动mysqld
#/etc/init.d/mysqld restart ( service mysqld restart )
重如果想把密码改回来 进入mysql 执行 5.7的数据库没有了password字段 用的是authentication_string字段
mysql> update mysql.user set authentication_string=password('root') where user='root' ;

 

 

 

 

 

 

最后你还要设置一下过期时间,以防止密码失效。

在/etc/my.cnf配置文件中增加

 

[mysqld]
default_password_lifetime=0

或者直接通过命令设置

ALTER USER 'script'@'localhost' PASSWORD EXPIRE NEVER