序言:
以前學習mysql的時候,有時候忘記root密碼問題,在網上有很多信息,但是都不是很完整,這裡我通過無數次實驗,共享一下重置root密碼完整的方法。
windows平台:
第1步 : 開始菜單 -> 控制面板 -> 管理工具 -> 服務 中找到mysql服務器,並停止它,如果服務器不是作為服務運行的,可能需要使用任務管理器來強制停止它。
第2步 :創建一個文本文件mysql-ini.txt,並在文本文件中輸入SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpassword');
保存mysql-ini.txt 文件到任意路徑下,為了方便起見。在本例中,改保存路徑為 C:/mysql-ini.txt
第3步 :打開控制台窗口,進入DOS提示:
開始菜單 -> 運行 -> cmd
假定你已將mysql服務安裝在C:/mysql路徑, 在DOS命令提示下,執行命令:
C:\> C:/mysql/bin/mysqld -n --init-file=C:/mysql-ini.txt
第4步 : 重啟mysql服務(這個時候mysql執行mysql-ini.txt中的內容,更改根用戶密碼)
第5步 : 按理論說,mysql的密碼重置已經成功,你可以使用新密碼進行登錄mysql服務,最後登錄成功後,不要忘了刪除垃圾文件mysql-ini.txt
(密碼設置可能不成功,按照上述操作多試幾次)
Unix平台:
第1步:以Unix根用戶身份或以運行mysqld服務器的相同身份登錄到系統。
第2步:找到包含服務器進程ID的.pid文件。改文件的准確位置和名稱取決於你的分發版、主機名和配置。常見位置是/var/lib/mysql/、 /var/run/mysqld/
和/user/local/data/.一般情況下,文件名的擴展名為.pid,並以msyqld或系統的主機名開始
第3步:在下述命令中使用.pid文件的路徑名,想mysqld進程發成正常的kill,可停止msyql服務器:
shell> kill 'cat /mysql -data-directory/host_name.pid'
注意:cat命令使用符合“ ‘ ”而不是“ “ ”,這會使cat的輸入帶入到kill命令中。
第4步: 創建文本文件,並將下述命令放在文件內
SET PASSWORD FOR ’root‘@’localhost‘ = PASSWORD('youpassword');
用任意名稱保存文件,本例中文件為 ~/mysql-ini
第5步: 用特殊的’--init-file = ~/mysql-ini‘選項重啟mysql服務器:
shell> msyqld_safe --init-file=~/mysql-ini &
重啟mysql服務(這個時候mysql執行mysql-ini.txt中的內容,更改根用戶密碼)
第6步 : 按理論說,mysql的密碼重置已經成功,你可以使用新密碼進行登錄mysql服務,最後登錄成功後,不要忘了刪除垃圾文件mysql-ini.txt
(密碼設置可能不成功,按照上述操作多試幾次)