MySQL 5.6 引入了許多效能優化特性,但密碼重置流程與 5.5 大同小異。本文提供針對 5.6 版本的 Windows 環境圖文級重置教程,含版本確認、服務管理、雙視窗操作、密碼欄位更新、進程清理全流程,確保零失誤執行。
C:\> rpm -qa | grep MySQL
MySQL-server-5.6.15-1.el6.x86_64
MySQL-client-5.6.15-1.el6.x86_64
MySQL-shared-compat-5.6.15-1.el6.x86_64
MySQL-devel-5.6.15-1.el6.x86_64
perl-DBD-MySQL-4.022-1.el6.rfx.x86_64
Windows 環境可在「控制台 → 程式和功能」查看版本,或執行
mysql --version。
net stop mysql
打開任務管理器 → 詳細資料,檢查是否有
mysqld.exe、mysql.exe殘留進程,**全部結束**,避免端口衝突。
cd "D:\Program Files\MySQL\MySQL Server 5.6\bin"
mysqld --skip-grant-tables
注意:命令末尾**無分號**。執行後視窗顯示啟動資訊並停留閃爍游標,**此視窗不可關閉**。

cd "D:\Program Files\MySQL\MySQL Server 5.6\bin"
mysql -u root -p
提示
Enter password:時**直接按 Enter**(空密碼),即可進入mysql>提示符。

mysql> UPDATE mysql.user SET password=PASSWORD('root') WHERE User='root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MySQL 5.6 密碼欄位仍為
password,使用PASSWORD()函數。WHERE User='root'會更新所有 Host 的 root 帳號(localhost、127.0.0.1、% 等),建議執行前用SELECT User, Host FROM mysql.user WHERE User='root';確認。
mysqld 視窗(Ctrl+C),或任務管理器結束 mysqld.exenet start mysql
mysql -u root -proot
Welcome to the MySQL monitor...
mysql>


| 問題 | 原因 | 解決 |
|---|---|---|
步驟 3 提示 ERROR 2003 | 步驟 2 的 mysqld 未成功啟動或已退出 | 查看步驟 2 視窗錯誤訊息;檢查 datadir 權限、端口佔用、配置檔語法 |
步驟 4 0 rows affected | user 表無 root 帳號或 Host 不匹配 | SELECT User, Host, password FROM mysql.user; 確認實際帳號 |
步驟 5 net start mysql 失敗 | 步驟 2 的 mysqld 進程未結束,佔用 3306 端口 | 任務管理器強制結束所有 mysqld.exe |
| 驗證步驟仍提示密碼錯誤 | 未執行 FLUSH PRIVILEGES / 權限快取未刷新 | 重新執行 FLUSH PRIVILEGES;或重啟服務後再試 |
警告 Using a password on the command line interface can be insecure | 命令列明文密碼(-proot)觸發安全警告 | 屬正常警告,不影響功能。生產環境請用 -p 交互式輸入 |
password(char(41)),5.7 改為 authentication_string(text)mysql_native_password,無 8.0 的 caching_sha2_password 相容性問題
# 1. 停止服務
service mysql stop
# 或 systemctl stop mysqld
# 2. 免密啟動
mysqld_safe --skip-grant-tables --skip-networking &
# 3. 改密
mysql -u root
mysql> UPDATE mysql.user SET password=PASSWORD('newpass') WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> QUIT
# 4. 重啟
service mysql restart
# 或 systemctl restart mysqld
一句話總結:MySQL 5.6 Windows 重置 = 停服務 → 任管殺進程 →
mysqld --skip-grant-tables掛視窗 → 新視窗mysql -uroot -p空密登入 →UPDATE ... PASSWORD('new')→FLUSH PRIVILEGES→ 殺掛視窗進程 → 起服務 → 驗證。核心陷阱:**雙視窗協作、進程必殺、FLUSH 必執行**。