忘記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 的服務就可以正常使用了。