Mysql修改密码的三种及注意事项

版权声明:本文为博主原创文章,未经博主允许不得转载。作者:沙师弟专栏 https://blog.csdn.net/u014597198/article/details/82999088

修改密码

方法1: 用SET PASSWORD命令

  mysql -u root
  mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

方法2:用mysqladmin

  mysqladmin -u root password "newpass"

如果root已经设置过密码,采用如下方法

  mysqladmin -u root password oldpass "newpass"

方法3: 用UPDATE直接编辑user表

  mysql -u root 
  mysql> use mysql; 
  mysql> UPDATE user SET Password = PASSWORD('newpass') WHERE user = 'root'; 
  mysql> FLUSH PRIVILEGES;

注意事项

①、有些时候,密码要大于8位才能修改成功。

②、登录mysql后,查看密码策略

用“show variables like ‘validate_password%’;”命令查看密码策略。

参数 含义
validate_password_number_count 参数是密码中至少含有的数字个数,当密码策略是MEDIUM或以上时生效。
validate_password_special_char_count 参数是密码中非英文数字等特殊字符的个数,当密码策略是MEDIUM或以上时生效。
validate_password_mixed_case_count 参数是密码中英文字符大小写的个数,当密码策略是MEDIUM或以上时生效。
validate_password_length 参数是密码的长度,这个参数由公式生成:validate_password_number_count+ validate_password_special_char_count+ (2 * validate_password_mixed_case_count)
validate_password_dictionary_file 参数是指定密码验证的字典文件路径。
validate_password_policy 这个参数可以设为0、1、2,分别代表从低到高的密码强度,此参数的默认值为1,如果想将密码强度改弱,则更改此参数为0。

③、如果报错

错误:“ERROR 1819 (HY000): Your password does not satisfy the current policy requirements”
就是因为指定的密码没有符合现有的密码策略。
解决方法:
可以按照现有策略设置密码,也可以更改密码策略。

A、按照现有密码策略指定密码

mysql>  CREATE USER 'test'@'localhost' IDENTIFIED BY 'System#2016';
Query OK, 0 rows affected (0.16 sec)

B、更改密码策略,降低密码的验证标准

–更改密码策略为LOW

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

–更改密码长度

mysql> set global validate_password_length=0;
Query OK, 0 rows affected (0.00 sec)

C、查看现在的密码策略

mysql> show variables like 'validate_password%';

④、查看用户名和密码

mysql5.7以后password字段改为authentication_string
select User,authentication_string from user where user=‘root’ ;
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/u014597198/article/details/82999088