Mysql忘记root密码怎么办?(已解决)

为了写这篇文档,假装一下忘记密码!!!!

首先我数据库是正常的,可以使用。

root@localhost:~# mysql -uroot -p
mysql>
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
rows in set (0.00 sec)
mysql> exit
Bye 

假如我忘记了密码,现在无法登陆数据库,会提示密码错误。

root@localhost:~# mysql -uroot -p
Enter password:
ERROR (): Access denied for user 'root'@'localhost' (using password: YES) 

1)、首先安全停掉mysql服务

root@localhost:~# /etc/init.d/mysql stop
Shutting down MySQL
.... *

2)、编辑配置文件,在[mysqld]添加skip-grant-tables

(--skip-grant-tables 的意思是启动 MySQL 服务的时候跳过权限表认证)

Mysql忘记root密码怎么办?(已解决)

3)、启动mysql服务

root@localhost:~# /etc/init.d/mysql start
Starting MySQL
..... *

4)、登录数据库并修改密码

root@localhost:~# mysql -uroot
mysql>
mysql> update mysql.user set password=PASSWORD('jeqThs1qOVbHGRz0') where user='root';
Query OK, rows affected (0.00 sec)
Rows matched: Changed: Warnings: mysql> flush privileges;
Query OK, rows affected (0.00 sec) mysql> exit
Bye

5)、再次编辑配置文件,删除skip-grant-tables

root@localhost:~# vim /etc/mysql/my.cnf

6)、修改之后重启mysql服务

root@localhost:~# /etc/init.d/mysql restart
Shutting down MySQL
.... *
Starting MySQL
..... *

7)、此时就可以用新密码登录啦

root@localhost:~# mysql -uroot -pjeqThs1qOVbHGRz0
mysql>
mysql> exit
Bye
上一篇:关于 fir.im 你可能不知道的实用小工具


下一篇:数据库的Instance/Crash Recovery