解決方案:
- 停止服務:停止MySQL服務;
- 跳過驗證:修改MySQL安裝目錄下的my.ini配置文件苇瓣,使登錄時跳過權限檢查尉间;
- 修改密碼:啟動MySQL服務,登錄MySQL击罪,此時提示輸入密碼哲嘲,輸入任意密碼回車即可進入MySQL。然后通過SQL語句修改root用戶的密碼媳禁;
- 重啟服務:將my.ini文件中加入的跳過權限語句刪除或加#號注釋眠副。重啟服務,使用修改后的密碼登錄即可竣稽。
Windows系統(tǒng)具體操作:
1囱怕、 停止服務:
方法1:使用dos命令net stop mysql即可;使用這種方式MySQL服務必須為安裝的服務丧枪,否則會出現(xiàn)服務名無效光涂,這時可以使用第二種方法。
方法2:進入【控制面板】-->【管理工具】 -->【服務】拧烦,找到MySQL服務,點擊左邊的停止钝计。
2恋博、 跳過驗證:
進入MySQL的安裝路徑(以默認安裝路徑為例)C:\Program Files\MySQL\MySQL Server 5.1\
,找到my.ini配置文件(這些文件記錄MySQL的常規(guī)參數(shù)私恬,每次啟動服務都會先加載此文件)债沮,在my.ini配置文件的最后一行加入skip_grant_tables,此語句可以忽略登錄檢查本鸣。
3疫衩、 修改密碼:
啟動MySQL服務,進入dos環(huán)境荣德,輸入mysql -u root -p登錄MySQL(如果安裝時沒有勾選添加
環(huán)境變量闷煤,需要先使用cd命令進入MySQL安裝目錄),此時提示輸入密碼涮瞻,輸入任意密碼回車即可進入MySQL鲤拿,出現(xiàn)mysql>控制符,此時表示已經(jīng)成功登錄MySQL署咽;
mysql> USE mysql (將數(shù)據(jù)庫切換至mysql庫中)
mysql> UPDATE user SET password=PASSWORD('newpswd') WHERE user='root' (修改密碼)
password函數(shù)為MySQL內(nèi)部函數(shù)近顷,其中newpswd為修改后的新密碼生音。
4、 重啟服務:
將my.ini文件中加入的跳過權限語句刪除或加#號注釋窒升。重啟服務缀遍,使用修改后的密碼登錄即可。
Linux系統(tǒng)具體操作:
1饱须、 停止服務:
執(zhí)行:
/etc/init.d/mysql stop
(你的機器不一定是/etc/init.d/mysql也可能是/etc/init.d/mysqld域醇,可以通過find命令查找)。
2冤寿、 跳過驗證:
執(zhí)行:
/usr/local/mysql/bin/mysqld_safe--skip-grant-tables >/dev/null 2>&1 &
(如果mysqld_safe的位置如果和不一樣需要修改歹苦,如果不清楚可以用find命令查找)。
find / -name mysqld_safe
3督怜、 修改密碼:
執(zhí)行:
mysql> USE mysql (將數(shù)據(jù)庫切換至mysql庫中)
mysql> UPDATE user SET password=PASSWORD('newpswd') WHERE user='root' (修改密碼)
/usr/local/mysql/bin/mysql -u root mysql (登錄mysql)
mysql> USE mysql; (將數(shù)據(jù)庫切換至mysql庫中)
mysql> UPDATE user SET password=PASSWORD('newpswd') WHERE user='root'; (修改密碼)
mysql>flush privileges; ( 刷新MySQL權限相關的表)
mysql>exit; (退出MySQL)
4殴瘦、 重啟服務:
執(zhí)行:
service mysqld restart (/etc/init.d/mysql restart / mysql restart)