kill `cat /mysql-data-directory/hostname.pid`
使用--skip-grant-tables選項重啟mysqld。
用mysql -h hostname mysql連接mysqld服務器并且用一條GRANT命令改變口令。也可以用mysqladmin -h hostname -u user password 'new password' 進行。
這是從baidu,google上能搜索到的,其實也是MySQL手冊中(8.9 怎樣重新設置一個忘記的口令),所提到了,但我這次在windows 下卻失敗了...
如果你忘記了MySQL的root用戶的口令,你可以用下列過程恢復它。
通過發送一個kill(不是kill -9)到mysqld服務器來關閉mysqld服務器。pid 被保存在一個.pid文件中,通常在MySQL數據庫目錄中:
kill `cat /mysql-data-directory/hostname.pid`
你必須是一個UNIX root用戶或運行服務器的相同用戶做這個。
使用--skip-grant-tables選項重啟mysqld。
用mysql -h hostname mysql連接mysqld服務器并且用一條GRANT命令改變口令。見7.26 GRANT和REVOKE句法。你也可以用mysqladmin -h hostname -u user password 'new password' 進行。
用mysqladmin -h hostname flush-privileges或用SQL命令FLUSH PRIVILEGES來裝載權限表
這是從baidu,google上能搜索到的,其實也是MySQL手冊中(8.9 怎樣重新設置一個忘記的口令),所提到了,但我這次在windows 下卻失敗了...
因為我只有一個用戶:select user,host from user時
| root | localhost |
后來我用update user set password=PASSWORD(''); 可是我用錯了,我用成了:update user set password='';
突然退出后,再登錄就無法登錄了,真是沒法啊.
按以上的步驟進行到mysqld --skip-grant-tables后無報錯,但mysql還是沒有啟動,所以無法用后面的mysql登錄,因為此時3306都沒有打開.
無可賴何之下只得重裝它(教訓!).
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com