mysqladmin -u root password 'StrongP@ssw0rd'
# 或指定舊密碼 (修改密碼時)
mysqladmin -u root -p'oldpass' password 'newpass'
mysql -u root mysql
UPDATE user SET authentication_string=PASSWORD('StrongP@ssw0rd') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
**注意:** 5.7+ `password` 列改名為 `authentication_string`,`PASSWORD()` 函數 8.0 棄用 (改用 `SHA2`)。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'StrongP@ssw0rd';
-- 8.0 默認 caching_sha2_password 插件
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'StrongP@ssw0rd'; -- 兼容舊驅動
mysqladmin -u root -p'StrongP@ssw0rd' status
# 成功返回 Uptime/Threads/Questions 等狀態
# 失敗報錯 Access denied
mysqld --skip-grant-tables --skip-networking &
# --skip-networking 防止遠程連接利用無密碼漏洞
FLUSH PRIVILEGES; -- 必須先執行,否則 UPDATE 無效
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPass';
-- 或舊版
UPDATE mysql.user SET authentication_string=PASSWORD('NewPass') WHERE User='root';
FLUSH PRIVILEGES;