忘记MySQL root密码,如何不重启修改

Posted wshenJin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了忘记MySQL root密码,如何不重启修改相关的知识,希望对你有一定的参考价值。

说个前提:mysqld可以处理kill命令发送的信号,如SIGHUP、SIGTERM,SIGHUP信号产生的行为类似于flush命令。

不重启找回root密码首先需要有个较低权限的账号,比如可以修改test库,或者可以操作任意业务数据库的账号。这里借助test库进行修改。

1、将mysql.user表的相关文件拷贝到test库的数据目录下,并修改权限:
cd  /data/database/mysql
cp mysql/user.* test/ 
chown mysql:mysql -R test
2、利用普通账号修改test.user 表:
mysql -uadmin -p123456 -S /tmp/mysql.sock 
mysql> update user set Password=password(‘dd8022bf7a0d1f24‘) where User=‘root‘;
3、将修改后的test.user表覆盖为mysql.user表,注意备份旧的mysql.user表:
cd  /data/database/mysql
mv  test/user.*  mysql/
5、给mysqld 进程 SIGHUP 信号,刷新权限:
kill -SIGHUP  ${mysqld_pid}

以上是关于忘记MySQL root密码,如何不重启修改的主要内容,如果未能解决你的问题,请参考以下文章

MySQL忘记root密码不重启mysqld的方法

mysql 忘记密码,重置密码,mysql.user表为空的解决办法

Mysql忘记root密码

mariadb:忘记root密码

mysql5.7中root密码忘记后修改密码

mysql 用户创建,修改和忘记root密码的操作