在MySQL日常開發或者是維護中,有一些問題或是故障往往是難以避免的,如丟失密碼、表損壞。在此總結一下常忘記MySQL的root密碼解決辦法:
1.登錄數據庫所在服務器,手動kill掉Mysql進程
關閉進程的命令為:kill 進程號
(linux下)
關閉進程的命令為:taskkill 進程號
(win下)
怎麼查看進程號呢?
我們都知道MySQL的進程號一般都會保存在Mysql數據目錄下的,它記錄了Mysql的服務進程號。文件名為hostname.pid,如下,其中YEGZT8JOIIU2LKY為主機名。
linux下查看進程通過使用ps命令;在win下,我們也可以通過tasklist查看進程號,
打開該文件,可以看到,裡面僅僅記錄著進程號
現在為了方便,我主要演示win下操作,不准備打開虛擬機在測試了。如果我們不熟悉taskkill命令,可以通過taskkill /?來查看命令。
2.使用–skip-grant-tables選項重啟MySQL服務
linux下
語法:./bin/mysqld_safe –skip-grant-tables
其中–skip-grant-tables選項代表啟動mysql
(注意win下安裝的Mysql,我使用mysqld –skip-grant-tables )
3.使用空密碼的root用戶連接MySQL,並修改root口令
修改如下
因為使用–skip-grant-tables啟動,故使用set password命令失敗。
使用update語句,直接更新mysql數據庫中user表。
4.更新權限
5.重新登錄
退出後,發現在此使用mysql -uroot登錄,會登陸不成功,只能使用密碼登陸。
以上就是解決root密碼忘記的方法,希望對大家的學習有所幫助。