C:\> mysql -u root
Welcome to the MySQL monitor...
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewStrongPass123!');
mysql> SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('NewStrongPass123!');
mysql> SET PASSWORD FOR 'root'@'::1' = PASSWORD('NewStrongPass123!');
-- 5.7+ 亦可用 ALTER USER
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewStrongPass123!';
FLUSH PRIVILEGES;
C:\> cd C:\mysql\bin C:\mysql\bin> mysqladmin -u root password 'NewStrongPass123!' # 若已有舊密碼 C:\mysql\bin> mysqladmin -u root -p'OldPass' password 'NewStrongPass123!'
mysql -u root -p'NewStrongPass123!' -e "
DELETE FROM mysql.user WHERE User='';
DELETE FROM mysql.user WHERE Host='%';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost','127.0.0.1','::1');
FLUSH PRIVILEGES;"
# 驗證
mysql -u root -p'NewStrongPass123!' -e "SELECT User,Host FROM mysql.user;"
@echo off
set MYSQL_BIN=C:\mysql\bin
set NEW_PASS=NewStrongPass123!
%MYSQL_BIN%\mysqladmin -u root -p%NEW_PASS% ping
if %errorlevel% equ 0 (
echo [OK] Root 密碼設定成功
) else (
echo [FAIL] Root 密碼設定失敗
pause
)
Windows MySQL 安裝後**必須立即修改 Root 密碼、清理匿名/通配符帳號、限制 Root 本機登入**。SET PASSWORD 適合互動式操作,mysqladmin 適合自動化腳本。雙重驗證確保密碼生效,納入部署清單標準化執行。