MySQL忘记密码修复

shunzi
shunzi
管理员
50
文章
0
粉丝
BLOG MySQL评论1字数 287阅读0分57秒阅读模式

常用修复方

  • 添加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

文章末尾固定信息

继续阅读
 最后更新:2020-3-23
shunzi
  • 本文由 shunzi 发表于2017-11-17 20:22:25
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Mysqld_multi Stop Bug BLOG

Mysqld_multi Stop Bug

最近在做mysqld_multi管理多实例的时候,发现stop不了节点 这是什么原因呢? 多实例相关配置如下: [mysqld_multi] mysqld = /usr/local/mysql/bin...
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证