正確重置MySQL密碼 |
發(fā)布時(shí)間: 2012/8/31 17:26:51 |
誰都不想弄丟家門鑰匙,但不管多么小心,時(shí)間長了,這樣的事情總會發(fā)生幾次。MySQL密碼也是一樣,把它寫在文檔上不太安全,記在腦子里又難免會忘記。 如果你忘記了MySQL密碼,如何重置它呢? 下面是錯(cuò)誤答案: 首先停止MySQL服務(wù),然后使用skip-grant-tables參數(shù)啟動(dòng)它: shell> /etc/init.d/mysql stop shell> mysqld_safe --skip-grant-tables &此時(shí)無需授權(quán)就可以進(jìn)入到MySQL命令行,使用SQL重置MySQL密碼: UPDATE mysql.user SET Password=PASSWORD('...') WHERE User='...' AND Host= '...'; 下面是正確答案: 關(guān)鍵點(diǎn)是:在使用skip-grant-tables參數(shù)的同時(shí),還要加上skip-networking參數(shù): shell> mysqld_safe --skip-grant-tables --skip-networking &接著使用SQL重置密碼后,記得去掉skip-networking,以正常方式重啟MySQL服務(wù): shell> /etc/init.d/mysqld restart上面的方法需要重啟兩次服務(wù),實(shí)際上還能更優(yōu)雅一點(diǎn),重啟一次即可: 首先需要把用到的SQL語句保存到一個(gè)文本文件里(/path/to/init/file): UPDATE mysql.user SET Password=PASSWORD('...') WHERE User='...' AND Host= '...'; shell> /etc/init.d/mysql stop 提示:本文用到的參數(shù)都是通過命令行mysqld_safe傳遞的,實(shí)際上也可以通過my.cnf。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |