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

Posted 长城之上是千亿的星空,星空之上是不灭的守望。

tags:

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

mysql忘记root密码不重启mysqld的方法
 
1、首先得有一个可以拥有修改权限的mysql数据库账号,当前的mysql实例账号(较低权限的账号,比如可以修改zabbix数据库)或者其他相同版本实例的账号。把 data/mysql 目录下面的user表相关的文件复制到 data/zabbix 目录下面。
 
[[email protected] mysql]# cp mysql/user.* test/
[[email protected] mysql]# chown mysql.mysql test/user.*
 
2、使用另一个较低权限的账号链接数据库,设置 zabbix 数据库中的 user 存储的密码数据。
 
 
[[email protected] mysql]# mysql -uzabbix -pzabbixpasswd -A 
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1180
Server version: 5.7.22-log MySQL Community Server (GPL)
 
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.
 
mysql> use zabbix;
Database changed
mysql> update user set authentication_string=password(‘zabbixpasswd‘) where user=‘root‘;
Query OK, 2 rows affected, 1 warning (0.04 sec)
Rows matched: 2 Changed: 2 Warnings: 1
 
 
3、把修改后的user.MYD和user.MYI复制到mysql目录下,记得备份之前的文件。
 
mv mysql/user.MYD mysql/user.MYD.bak
mv mysql/user.MYI mysql/user.MYI.bak
cp zabbix/user.MY* mysql/
chown mysql.mysql mysql/user.*
 
4、kill -SIGHUP 
 
[[email protected]db mysql]# pgrep -n mysql
31650
[[email protected] mysql]# kill -SIGHUP 31650
 
5、测试
[[email protected] mysql]# mysql -uroot -pzabbixpasswd -A 
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 1190
Server version: 5.7.22-log MySQL Community Server (GPL)
 
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type ‘help;‘ or ‘h‘ for help. Type ‘c‘ to clear the current input statement.
 
mysql> 

 

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

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

MySQL/MariaDB忘记root密码的简单解决方法

忘记MySQL的root密码的解决方法

CentOS7下mysql忘记root密码的处理方法

CentOS7下mysql忘记root密码的处理方法

mysql误删root用户或者忘记root密码解决方法