yp1234 发表于 2018-9-29 12:27:17

MySQL root密码恢复

  今儿碰到一个案例,MySQL的root密码丢失,要恢复,说下环境先:
  Red Hat Enterprise Linux 6.3 x86_64
  MySQL5.5.28
  按照自己以往经验是修改my.cnf,在添加skip-grant-tables,然后重启MySQL,就可以试用mysql免密码登陆,然后就可以修改密码了,但是这招好像是不怎么灵了,有另一套可行的简单的办法!
  1.首先正常停止MySQL
  


[*]service mysql stop
  

  2.新建文件test.init
  


[*]UPDATE mysql.user SET Password=PASSWORD('') WHERE User='root';
[*]FLUSH PRIVILEGES;
  

  3.启动
  


[*]mysqld_safe --init-file=test.init &
  

  这样就可以使用mysql免密码登陆MySQL了。实际上,在test.init中就已经重新设置了密码,只是将密码设置为空了,在第2部PASSWORD括号里可以填上你的密码。
  4.正常启动
  执行了第3步后,如果再执行service mysql restart,会发现MySQL报错起不来,但是3306仍是监听状态,因为第3步中已经用mysql_safe进行了特殊了启动,我们要kill掉这个进程:
  


[*]ps aux | grep mysql
[*]kill -9 PID
  

  找到MySQL的进程,Kill掉,然后执行service命令正常启动即可。


页: [1]
查看完整版本: MySQL root密码恢复