前言
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——折竹丶