找回MySQL的root密码

     0评论

进行站点迁移时很悲剧地发现VPS上MySQL的root密码忘记了,本文记录找回密码的过程。本文命令适配MySQL5.7,不过原理是通用的。

停止MySQL进程并以安全模式启动MySQL:

# 停止MySQL进程 sudo /etc/init.d/mysql stop # 为避免【mysqld_safe Directory '/var/run/mysqld' for UNIX socket file don't exists】错误,准备运行时目录 sudo mkdir -p /var/run/mysqld sudo chown mysql:mysql /var/run/mysqld # 以安全模式启动MySQL sudo mysqld_safe --skip-grant-tables & # 登陆MySQL mysql -uroot

运行以下MySQL语句更改密码:

# 登陆后即可更改密码,这里以新密码为root123示例 # MySQL 5.7版本后,密码字段被更改为authentication_string mysql>use mysql; mysql>update user set authentication_string=password('root123') where user='root'; # 如果碰到【ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded】错误,则执行以下两句: mysql>update user set plugin="mysql_native_password" where User='root'; mysql>flush privileges; # 退出 mysql>quit;

重新开启MySQL:

# 关闭MySQL进程 sudo /etc/init.d/mysql stop # 上面命令可能无法停止mysql_safe进程,因此额外运行: sudo killall mysqld # 启动MySQL进程 sudo /etc/init.d/mysql start # 登陆 mysql -uroot -proot123

参考资料

-- EOF --

本文最后修改于5年前 (2019-06-04)

差评不太行一般挺好非常不错 (No Ratings Yet)
读取中...
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址