如果你忘記了MySQL密碼,如何重置它呢?
關(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語(yǔ)句保存到一個(gè)文本文件里(/path/to/init/file):
UPDATE mysql.user SET Password=PASSWORD('…') WHERE User='…' AND
Host= '…';
FLUSH PRIVILEGES;
接著使用init-file參數(shù)啟動(dòng)MySQL服務(wù),
shell> /etc/init.d/mysql stop
shell> mysqld_safe –init-file=/path/to/init/file &
此時(shí),密碼就已經(jīng)重置了,最后別忘了刪除文件內(nèi)容,免得泄露密碼。
提示:本文用到的參數(shù)都是通過(guò)命令行mysqld_safe傳遞的,實(shí)際上也可以通過(guò)my.cnf