重置root密码

如果忘记数据库root密码导致无法登陆数据库时,可使用如下方法进行root密码重置

指定MySQL初始化文件进行重置

关闭运行的MySQL服务

kill `cat /var/run/mysqld/mysqld.pid`

# 也可使用脚本和systemd关闭
# 若为二进制安装pid文件路径为/etc/my.cnf指定的数据目录下的HOSTNAME.pid

生成包含指定命令的文本文件

echo "ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass0.0';" > /tmp/resetMySQL.txt

执行带有如下初始化参数的命令

mysqld --init-file=/tmp/resetMySQL.txt --user=mysql &

删除生成的文本文件

rm -f /tmp/resetMySQL.txt

关闭运行的MySQL服务

kill `cat /var/run/mysqld/mysqld.pid`

# 使用kill杀进程的方式进行正常关闭,不要使用 kill -9
# 此时无法使用systemd进行关闭
# 也可以使用 sys-v 方式和命令路径方式关闭

正常启动MySQL服务

一键完成脚本

使用MySQL命令进行重置

关闭运行的MySQL服务

启动无需密码连接MySQL服务的模式

连接MySQL并重置密码

关闭正在运行的MySQL服务

正常启动MySQL服务

Last updated