MySQL修改用户的密码有两种方法:
ALTER USER
下面的语句在 mysql 5.7 版本中执行成功。实例如下:
(1)使用明文的方式修改 test 用户的密码为 123456。如下:mysql> alter user test identified by '123456';
Query OK, 0 rows affected
(2)修改当前登录用户的密码,其中:user() 方法将返回当前用户信息。实例如下:mysql> select user();
+----------------+
| user() |
+----------------+
| test@localhost |
+----------------+
1 row in set (0.00 sec)
mysql> alter user user() identified by 'aaaaaa';
Query OK, 0 rows affected (0.00 sec)
(3)使密码过期mysql> alter user test identified by '123456' password expire;
Query OK, 0 rows affecte
(4)使密码从不过期mysql> alter user test identified by '123456' password expire never;
Query OK, 0 rows affected
(5)按默认设置过期时间mysql> alter user test identified by '123456' password expire default;
Query OK, 0 rows affected
(6)指定密码的过期间隔,如下:mysql> alter user test identified by '123456' password expire interval 90 day;
Query OK, 0 rows affected
SET PASSWORD
使用 SET PASSWORD 的密码有两种:
(1)使用默认加密mysql> set password for test='123456';
ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number
错误“ERROR 1372 (HY000): Password hash should be a 41-digit hexadecimal number”(密码散列应该是一个41位的十六进制数字)意思是不能输入明文,可以使用 password('') 来生成密码。
(2)使用 PASSWORD() 函数加密mysql> set password for test=password('123abc');
Query OK, 0 rows affected
注意:使用 PASSWORD('auth_string') 的方式已经被废弃,在以后的版本会把它移除,所以不建议使用它来修改密码。