mysql忘记root密码

Posted

tags:

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

mysql忘记了超级用户管理密码,可以利用重新启动mysql进程的时候带 --skip-grant-tables参数来启动数据库,并空密码登录。这个就是相当于是数据库第一次启动的时候。随后可以查看mysql.user表里面的超级用户,以及修改超级用户的密码

1# 关闭MYSQL instance,或者杀死进程

2# 重新启动mysql,带--skip-grant-tables语句

[[email protected] my.cnf.d]$ mysqld_safe --defaults-file=‘/data/mysqldata/3306/my.cnf‘  --skip-grant-tables &
[1] 32530
[[email protected] my.cnf.d]$ 180828 19:02:13 mysqld_safe Logging to ‘/data/mysqldata/3306/data/../mysql-error.log‘.
180828 19:02:13 mysqld_safe Starting mysqld daemon with databases from /data/mysqldata/3306/data

[[email protected] my.cnf.d]$ 

3# 空密码登录MySQL

[[email protected] my.cnf.d]$ msyql -S /data/mysqldata/3306/mysql.sock 
bash: msyql: command not found...
[[email protected] my.cnf.d]$ mysql -S /data/mysqldata/3306/mysql.sock 
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 1
Server version: 5.6.31-log Source distribution

Copyright (c) 2000, 2016, 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.

([email protected])[(none)]> 

4# 修改mysql.user表

([email protected])[(none)]> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
([email protected])[mysql]> 
([email protected])[mysql]> select user,host,password from user;
+------+-----------+-------------------------------------------+
| user | host      | password                                  |
+------+-----------+-------------------------------------------+
| root | localhost | *A0F874BC7F54EE086FCE60A37CE7887D8B31086B |
+------+-----------+-------------------------------------------+
1 row in set (0.00 sec)

([email protected])[mysql]> update user set password=password(‘password123‘) where user=‘root‘;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0

([email protected])[mysql]> 

5# 正常关闭数据库

[[email protected] my.cnf.d]$ mysqladmin -S /data/mysqldata/3306/mysql.sock -uroot -p‘password123‘ shutdown
Warning: Using a password on the command line interface can be insecure.
180828 19:04:54 mysqld_safe mysqld from pid file /data/mysqldata/3306/mysql.pid ended
[1]+  Done                    mysqld_safe --defaults-file=‘/data/mysqldata/3306/my.cnf‘ --skip-grant-tables
[[email protected] my.cnf.d]$ 

6# 正常开启数据库

[[email protected] my.cnf.d]$ mysqld_safe --defaults-file=‘/data/mysqldata/3306/my.cnf‘  &
[1] 33094
[[email protected] my.cnf.d]$ 180828 19:05:04 mysqld_safe Logging to ‘/data/mysqldata/3306/data/../mysql-error.log‘.
180828 19:05:04 mysqld_safe Starting mysqld daemon with databases from /data/mysqldata/3306/data

[[email protected] my.cnf.d]$

7# 正常登录数据库

[[email protected] my.cnf.d]$ mysql -uroot -S ‘/data/mysqldata/3306/mysql.sock‘ -p‘password123‘
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 1
Server version: 5.6.31-log Source distribution

Copyright (c) 2000, 2016, 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.

([email protected])[(none)]> 

至此mysql的root密码修改完成

以上是关于mysql忘记root密码的主要内容,如果未能解决你的问题,请参考以下文章

mysql重置密码,忘记密码,重置root密码,重置mysql密码

mysql 忘记root密码

Mysql忘记root密码

mysql忘记root密码

忘记MYSQL ROOT密码怎么办

mysql 忘记root密码 重置root密码