MySQL 强制修改密码

本文最后更新于:2021年11月18日 晚上

修改配置文件实现免密码登录

(1) 编辑 /etc/my.cnf 文件:

1
vim /etc/my.cnf

(2) 在 [mysqld] 字段下内容尾部添加以下内容:

1
skip-grant-tables

(3) 重新启动 mysqld 服务:

1
systemctl restart mysqld.service 或者 service mysqld restart

修改密码

(1) 登录 MySQL:

1
mysql -uroot -p

(2) 刷新权限:

1
FLUSH PRIVILEGES;

(3) 修改密码:

1
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

需要注意的是,MySQL 8.0 默认使用了新的加密方式(caching_sha2_password),但是现在很多应用都暂不支持这种加密方式(比如 WordPress),所以会导致应用无法登陆数据库的情况。如果需要使用传统的加密方式(mysql_native_password)进行加密,请使用下面的命令:

1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql\_native\_password BY '新密码';

(4) 退出 MySQL:

1
EXIT;

恢复配置文件

将 /etc/my.cnf 文件中刚刚添加上去的 skip-grant-tables 字段删除。

重新启动 mysqld 服务

1
systemctl restart mysqld.service 或者 service mysqld restart

MySQL 强制修改密码
https://chenpipi.cn/post/mysql-force-change-password/
作者
陈皮皮
发布于
2019年2月11日
更新于
2021年11月18日
许可协议