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