天天看點

MySQL的root密碼忘記後重置方法

如果忘記了MySQL的root密碼怎麼辦?

我們預設的情況下是沒有給MySQL設定密碼的,如下

預設的登入MySQL

[root@LAMPLINUX ~]# mysql -uroot

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

Your MySQL connection id is 1

Server version: 5.1.40-log MySQL Community Server (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>quit

Bye

正常情況下為了安全考慮我們應該給MySQL去設定一個密碼

[root@LAMPLINUX ~]# mysqladmin -uroot password 'lamlinux'

設定完成,我們再次登入就要輸入密碼了

[root@LAMPLINUX ~]# mysql -uroot -plamlinux

Your MySQL connection id is 3

假如說我們密碼忘記了怎麼辦,登陸不上MySQL怎麼辦?

把密碼初始化,重新設定一個,

進入配置檔案

[root@LAMPLINUX ~]# vim /etc/my.cnf

在‘慢查詢’下面加入一句話

skip-grant (跳過授權)

:wq

重新開機MySQL

[root@LAMPLINUX ~]# /etc/init.d/mysqld restart

Shutting down MySQL.. SUCCESS!

Starting MySQL. SUCCESS!

初始化完成

可以直接用“mysql”指令,不需要輸入-p密碼,就可以直接進入MySQL了,

[root@LAMPLINUX ~]# mysql

mysql>

然後去使用mysql庫

mysql> use mysql

No connection. Trying to reconnect...

Connection id:    2

Current database: *** NONE ***

Database changed

然後去更新一個表,即更改root使用者的密碼

mysql> update user set password=password('lam2linux') where user='root';

ERROR 2006 (HY000): MySQL server has gone away

Connection id:    4

Current database: mysql

Query OK, 3 rows affected (0.01 sec)

Rows matched: 3  Changed: 3  Warnings: 0

從資訊中我們看到Query OK, 3 rows affected (0.01 sec)顯示第3行發生改變,

用以下指令可以檢視變更資訊

mysql>select * from user where user='root'\G;

退出MySQL

mysql>exit

我們再把MySQL配置檔案裡的“skip-grant”去掉

去掉 skip-grant

Shutting down MySQL. SUCCESS!

再次登入MySQL需要輸入密碼

[root@LAMPLINUX ~]# mysql -uroot -plam2linux

Your MySQL connection id is 2

至此,修改密碼後并成功登入

本文轉自 聽丶飛鳥說 51CTO部落格,原文連結:http://blog.51cto.com/286577399/1673322

繼續閱讀