MySQL 忘記密碼的解決辦法


前段時間遷移一台服務器 MySQL 數據庫,由於這台服務器時間比較久沒有使用了,把密碼忘記了,但是需要把數據庫里的一些數據導出來,所以就在網上找了一下,總結出這篇 MySQL 數據庫忘記密碼的解決方案!

本文使用的是 CentOS 6 和 MySQL 5.6 版本,可能不同版本的命令稍有不同,大家可以根據系統版本查詢相關命令。

首先確認要操作的 MySQL 服務器處於安全的狀態,也就是沒有人能夠連接 MySQL 數據庫。 因為在重新設置 MySQL 的 Root 密碼的期間,在啟動 Mysql 時不啟動授權表功能,可以直接免密碼登錄。可以采用將 MySQL 對外的端口封閉,並且停止 Apache 以及所有的用戶進程的方法實現服務器的准安全狀態。最安全的狀態是到服務器的 Console 上面操作,並且拔掉網線。 

1、skip-grant-tables 模式啟動

修改 /etc/my.cnf 文件,在 [mysqld] 區域添加配置,並保存 my.cnf 文件,重啟 MySQL 服務,在控制台登錄 MySQL,如果出現輸入密碼,直接回車,就可以進入數據庫了。

命令如下:

# 修改 /etc/my.cnf 文件
vim /etc/my.cnf

# 在 [mysqld] 區域添加配置,並保存 my.cnf 文件
skip-grant-tables

# 重啟 MySQL 
service mysqld restart

# 登錄 MySQL
mysql -u root -p

2、修改 root 密碼

# 登錄 MySQL 后進入 mysql 數據庫
use mysql;

# 修改 root 密碼
update user set password=password('password') where user='root';

# 使密碼生效
flush privileges;

# 退出
exit;

3、重啟服務器

# 修改 /etc/my.cnf 文件
vim /etc/my.cnf

# 在 [mysqld] 區域刪除改配置,保存 my.cnf 文件
# skip-grant-tables

# 重啟 MySQL
service mysqld restart

4、測試連接

# root 登錄
mysql -u root -p

# 系統會提示輸入 root 的密碼

也可以使用第三方客戶端進行登錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM