MySQL根用戶root密碼忘記后的處理方法:
Windows平臺(tái)下的步驟
1.以管理員的身份登錄到windows系統(tǒng)
2.用windows服務(wù)管理工具或任務(wù)管理器來停止MySQL服務(wù)
3.建立一個(gè)單行的文本文件,保存為c:\mysql\pwdhf.txt,
內(nèi)容是SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
4.打開一個(gè)控制臺(tái)窗口,得到DOS命令提示符
5.假設(shè)你的MySQL主目錄是C:/mysql/bin,
則運(yùn)行c:\mysql\bin\mysqld-nt --init-file=c:\mysql\pwdhf.txt,
如果是用安裝精靈安裝的MySQL數(shù)據(jù)庫服務(wù)器,則需要通過服務(wù)管理工具來做改動(dòng),
需要找到并添加默認(rèn)設(shè)置文件,
然后運(yùn)行mysqld-nt --defaults-file="path\my.ini" --init-file=c:\mysql\pwdhf.txt
6.停止MySQL數(shù)據(jù)庫服務(wù),然后再重新以正常模式啟動(dòng)MYSQL
7.可以正常登錄到服務(wù)器.
Unix環(huán)境下的步驟
1.以root或啟動(dòng)mysqld進(jìn)程的用戶身份登錄到系統(tǒng)
2.找到并定位包含Mysql服務(wù)進(jìn)程號(hào)的文件.pid,該文件一般可能
/var/lib/mysql/,/var/run/mysqld/,/usr/local/mysql/data/中,
文件名一般是“機(jī)器名.pid”的格式。在殼下使用命令
kill 'cat /mysql-data-directory//host-name.pid'來結(jié)束mysql服務(wù)進(jìn)程
3.建立一個(gè)單行文本文件,可以任意命名,假設(shè)是mysql-init,
保存在用戶主目錄~下就可以,
文件內(nèi)容是SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
4.重新帶選項(xiàng)啟動(dòng)mysql,具體命令為mysqld_safe --init-file=~/mysql-init &,
正常后應(yīng)該刪除mysql-init文件
5.可以用新密碼連接數(shù)據(jù)庫。
通用的解決辦法:
-使用客戶端交互工具mysql來設(shè)置,步驟如下:
1.停止mysql服務(wù),并重新以--skip-grand-table --user=root
選項(xiàng)來啟動(dòng)mysql服務(wù)(windows下可以省略--user=root選項(xiàng))
2.用客戶端交互工具mysql連接服務(wù)器,shell>mysql -u root
3.在客戶端交互工具mysql中執(zhí)行下列語句:
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
-> WHERE User='root';
mysql> FLUSH PRIVILEGES;
4.可以用newpwd作為密碼來登錄服務(wù)器。