且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

mysql多实例修改忘记的root密码

更新时间:2022-09-23 08:55:45

一、操作思路:

1)停止mysql服务

2)启动时添加“--skip-grant-tables”参数

3)修改密码

4)重启mysql服务


二、执行过程

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# netstat -tunlp | grep 330*
tcp        0      0 0.0.0.0:3306                0.0.0.0:*         LISTEN      13157/mysqld        
tcp        0      0 0.0.0.0:3307                0.0.0.0:*         LISTEN      13874/mysqld        
tcp        0      0 0.0.0.0:3308                0.0.0.0:*         LISTEN      12388/mysqld 
# 这里假设忘记的是3308实例的root密码
# 先安全关闭另外两个实例
# /data/3306/mysql stop
# /data/3307/mysql stop
# killall mysqld
# mysqld_safe --defaults-file=/data/3308/my.cnf --skip-grant-tables &
[2] 10883
# 161011 22:05:47 mysqld_safe Logging to '/data/3308/mysql_oldboy3308.err'.
161011 22:05:48 mysqld_safe Starting mysqld daemon with databases from /data/3308/data
# mysql -uroot -p -S /data/3308/mysql.sock
Enter password: (这里直接回车就进去了)
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.32-log Source distribution
Copyright (c) 2000, 2013, 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> update mysql.user set password=password("redhat123456") where user='root';
Query OK, 4 rows affected (0.00 sec)
Rows matched: 4  Changed: 4  Warnings: 0
# 更新root账号的密码
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
# 刷新权限
# netstat -tunlp | grep mysql
tcp        0      0 0.0.0.0:3308                0.0.0.0:*                   LISTEN      11620/mysqld        
[1]+  Done                    mysqld_safe --default-file=/data/3308/my.cnf --skip-grant-tables --user=mysql
# pkill mysql
# netstat -tunlp | grep mysql
# /data/3308/mysql start
Starting MySQL...
# echo $?
0


三、验证

1
2
3
4
5
6
7
8
9
10
# mysql -uroot -predhat123456 -S /data/3308/mysql.sock
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.5.32-log Source distribution
Copyright (c) 2000, 2013, 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>










本文转自 冰冻vs西瓜 51CTO博客,原文链接:http://blog.51cto.com/molewan/1861096,如需转载请自行联系原作者