《MySql_忘記了root密碼怎么辦》
在忘記root密碼的時候,可以按以下步驟處理(以windows為例)。
_1) 關閉正在運行的MySQL服務。
_2) 打開DOS窗口,轉到mysql\bin目錄。
_3) 輸入mysqld –skip-grant-tables 回車。–skip-grant-tables 的意思是啟動MySQL服務的時候跳過權限表認證。
_4) 再開一個DOS窗口(因為剛才那個DOS窗口已經不能動了),轉到mysql\bin目錄。
_5) 輸入mysql回車,如果成功,將出現MySQL提示符 `>` 。
_6) 連接權限數據庫: `use mysql;` 。
_7) 改密碼: `update user set password=password('123456') where user='root';`(別忘了最后加分號) 。
_8) 刷新權限(必須步驟): `flush privileges;` 。
_9) 退出 `quit` 。
_10) 注銷系統,再進入,使用用戶名root和剛才設置的新密碼123456登錄。
[補充] 修改密碼:
UPDATE mysql.user SET password=PASSWORD('123456') WHERE user='root';
UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='root';
[補充] 刷新權限: `FLUSH PRIVILEGES;` 。
[補充] 使用命令行啟動MySql服務:
net start mysql
[補充] 使用命令行連接MySql(若更改了端口號(即不是默認的3306),則命令行要加上端口號的選項):
mysql -u root -p
mysql -P 3309 -u root -p
mysql -h 127.0.0.1 -P 3309 -u root -p
[補充] 退出: `quit` 。
[補充] 啟動服務的提示信息: `本地計算機上的MySQL服務啟動后停止。` 。
分析:查詢錯誤日志文件(如SC-202505131749.err)看到了信息 `[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist` 。
參考解決辦法:執行命令 `mysqld --initialize-insecure` 。
[補充] 連接服務的提示信息: `ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)` 。
分析:是不是 \"MySql服務配置文件配置的端口號不是默認的3306"/ ?若不是,則使用的命令行中要加上端口號的選項。