重置 root 密碼
在忘記 root 密碼的情況下,可以進入 mysql 的安全模式,重置 root 密碼。
1. 停止 MySQL 服務
打開命令提示符窗口,輸入 net stop [mysql服務名] 關閉 MySQL 服務。
2. 切換到 bin 目錄
在命令提示符窗口中,通過 cd 命令切換到 mysql 安裝目錄下的 bin 目錄
3. 進入安全模式
在 bin 目錄下輸入
mysqld --skip-grant-tables
跳過權限檢查啓動 mysql。(此時窗口沒提示異常,即可進行下一步)4. 重置賬戶密碼
打開另一個命令提示符窗口(別關閉安全模式窗口),同樣切換到 mysql \ bin 目錄,輸入 mysql(或者mysql -u root -p root默認密碼爲空) 跳過權限驗證連接數據庫。執行 update mysql.user set authentication_string="" where user="root"; 重置 root 用戶的密碼(5.7 之前爲 password 字段)。提示Query OK字樣即可
5. 刷新權限表
執行 flush privileges; 命令刷新權限表,密碼已經重置完成,輸入 quit 退出。--這裏我本人執行失敗了.不過後面嘗試進入root也成功了
關閉所有命令提示符窗口,通過任務管理器結束 mysqld.exe 進程。重啓 MySQL 服務,之後就可以直接登錄 root 賬號了。
修改 root 密碼
出於安全考慮,root 密碼不宜爲空,所以需要在密碼重置之後,再重新設置一個密碼。
方法一:SET PASSWORD
SET PASSWORD FOR "username"=PASSWORD("new password");
以 root 身份登錄 mysql,再使用 set password 命令修改密碼:
方法二:mysqladmin
mysqladmin -u "username" -p password "new password"
執行該命名之後會提示輸入原密碼,輸入正確後即可修改。
方法三:UPDATE TABLE
在重置 root 密碼的同時,也可以設置默認密碼。不過密碼不能爲明文,必須使用 password() 函數加密。
UPDATE mysql.user SET authentication_string=PASSWORD("new password") WHERE user="username";
原文:http://www.jb51.net/article/129937.htm