【笔记】MySQL修改密码

前言

MySQL修改密码,修改密码后无需重启服务即可生效

5.7及以下

1
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('<password>');

5.7.6及以上

1
ALTER USER CURRENT_USER() IDENTIFIED BY '<password>';
1
ALTER USER user() IDENTIFIED BY '<password>';
1
ALTER USER 'root'@'localhost' IDENTIFIED BY '<password>';

修改密码和认证方式

  • 如果修改密码之后,仍然可以使用空密码进行登录,需要在修改密码时,也修改认证方式
1
ALTER USER CURRENT_USER() IDENTIFIED WITH mysql_native_password BY '<password>';

直接修改mysql.user表

  • PASSWORD()函数已被废弃,不推荐在5.7.6及更高版本中使用
1
2
UPDATE mysql.user SET authentication_string = PASSWORD('<password>') WHERE User = 'root';
FLUSH PRIVILEGES;

通过mysqladmin修改密码

  • 如果服务器上没有安装mysql-client只安装了mysql-server,可以通过mysqladmin修改密码

-u <username>:指定用户名
-h <hostname>:指定主机名
-P <port>:指定端口号
-p password "<password_new>":指定新密码
<password_old>:验证旧密码

1
mysqladmin -u <username> -h <hostname> -P <port> -p password "<password_new>"
1
Enter password: <password_old>

完成

参考文献

CSDN——折竹丶