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