顺子の杂货铺
生命不息,折腾不止,且行且珍惜~

MySQL忘记密码修复

DMIT VPS

常用修复方

  • 添加skip-grant-tables到/etc/my.cnf配置文件
    [mysqld]
    skip-grant-tables
    server mysqld restart #重启mysql进程
    mysql -uroot -p #登录数据库不需要密码
  • 修改密码

    update mysql.user set password=password('123456') where User="root" and Host="localhost";
    flush privileges; #刷新系统授权表
    grant all on *.* to 'root'@'localhost' identified by '123456' with grant option;
  • 去掉skip-grant-tables选项

    server mysqld restart #重启mysql进程

    密码修改完毕

特殊恢复方法

  • 1,首先把mysql数据库下的user表的datafile复制到另外一个能登录的数据库里
    cp /data/mysql/mysql3306/data/mysql/user.* /data/mysql/mysql3306/data/ss/.
  • 2,修改权限,然后登录数据库ss,直接update数据库ss的表user
    select Host,User,Password from ss.user;
    update ss.user set Password=password('123123123') where user='repl_user' and host='%'; --新密码
    update ss.user set Password='*6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9' where user='repl_user' and host='%'; --源密码
  • 3,然后把修改玩的datafile恢复到默认mysql库下
    cp /data/mysql/mysql3306/data/ss/user.* /data/mysql/mysql3306/data/mysql/user.*
  • 4,修改相应权限后,在OS重新加载配置
    kill -1 pidof mysqld
  • 5,现在就可以用行的密码登录数据库了
    mysql -uroot -p123123123
赞(0)
未经允许不得转载:順子の杂货铺 » MySQL忘记密码修复
分享到: 更多 (0)
搬瓦工VPS

评论 抢沙发

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

分享创造快乐

联系我们联系我们