1. 程式人生 > 實用技巧 >忘記MySQL密碼怎麼辦?一招教你搞定!

忘記MySQL密碼怎麼辦?一招教你搞定!

在安裝完 MySQL 或者是在使用 MySQL 時,最尷尬的就是忘記密碼了,墨菲定律也告訴我們,如果一件事有可能出錯,那麼它一定會出錯。那如果我們不小心忘記了 MySQL 的密碼,該如何處理呢?彆著急,本文教你一招搞定。

1.修改 MySQL 配置檔案

首先我們需要開啟 MySQL 的配置檔案,如果是 Windows 系統的話,MySQL 的配置檔案是 my.ini,它在 MySQL 的預設安裝目錄下;如果是 MacOS 系統的話,配置檔名是 my.cnf,它的路徑是 /etc/my.cnf。

以 MacOS 為例,我們需要在配置檔案的 [mysqld] 後面新增“skip-grant-tables”,意思是設定跳過許可權驗證

,如下圖所示:

MacOS 可以直接使用“sudo vim /etc/my.cnf”命令進行配置檔案的編輯。

注意事項

在 MacOS 中如果找不到 MySQL 的配置檔案,可以直接在 /etc 目錄下建立 my.cnf,新增如下內容:

[client]
default-character-set=utf8

[mysqld]
bind-address = 127.0.0.1
character-set-server=utf8
skip-grant-tables

當然如果有其他配置項的話,也可以自行修改。

2.重啟 MySQL

在修改完配置檔案之後,我們需要重啟 MySQL 服務才能讓配置生效。

如果是 Windows 系統,我們可以先關閉再啟動 MySQL,執行命令如下:

net stop mysql
net start mysql

如果是 Linux 系統,可以直接使用命令重啟:

service mysql restart

如果是 Mac 系統,可通過介面進行重啟操作,如下圖所示:


3.設定新密碼

重啟服務之後我們就可以通過命令列工具來設定 MySQL 的新密碼了,首先我們輸入“mysql -u root -p”命令來連線 MySQL 伺服器,當出現輸入密碼框時直接敲回車就可以登入了,如下圖所示:

接下來我們再使用以下命令來設定新的密碼:

update user set password=password('新密碼') where user='root';
flush privileges;
quit

注意事項

如果在執行該步驟的時候出現 ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 錯誤。則需要先執行下 flush privileges 命令,再執行其他命令即可。

最後

當我們設定完新密碼之後,記得要把 MySQL 配置檔案中的“skip-grant-tables”(跳過許可權驗證)去掉,然後再重啟 MySQL 的服務就可以正常使用了。