linux找回mysql root密码_MySQL root密码找回

以MySQL多实例为例,演示找回MySQL root的密码

1、关闭mysql服务

[root@mysql ~]# mysqladmin -uroot -poldboy123 -S /data/3306/mysql.sock shutdown ==>通过mysqladmin shutdown优雅关闭mysql服务。

[root@mysql ~]# lsof -i:3306

2、使用--skip-grant-tables参数后台启动mysql,忽略授权验证直接登录

[root@mysql ~]# mysqld_safe --defaults-file=/data/3306/my.cnf --skip-grant-tables & ==>--skip-grant-tables这个参数一定要放在默认文件的后面,&表示后台启动。

[1] 63540

[root@mysql ~]# 160216 22:27:26 mysqld_safe Logging to '/data/3306/mysql_oldboy3306.err'.

160216 22:27:26 mysqld_safe Starting mysqld daemon with databases from /data/3306/data

^C

[root@mysql ~]# lsof -i:3306

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

mysqld 64277 mysql 12u IPv4 127392 0t0 TCP *:mysql (LISTEN)

3、登录mysql,使用update语句修改MySQL root密码

[root@mysql ~]# mysql -S /data/3306/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> update mysql.user set password=PASSWORD("oldboy123") where user='root' and host='localhost'; ==>使用update语句修改MySQL root密码。

Query OK, 0 rows affected (0.26 sec)

Rows matched: 1 Changed: 0 Warnings: 0

mysql> flush privileges; ==>一定要刷新授权表。

Query OK, 0 rows affected (0.05 sec)

mysql> \q

Bye

4、使用修改后的root密码登录mysql

[root@mysql ~]# mysql -uroot -poldboy123 -S /data/3306/mysql.sock ==>使用root密码登录。

Welcome to the MySQL monitor. Commands end with ; or \g.

Your MySQL connection id is 4

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>

至此,找回并修改root密码成功。

你可能感兴趣的:(linux找回mysql,root密码)