MySQL 中修改用戶密碼的三條標準路徑,適用不同場景(有 root 權限登錄 / 命令行非交互 / 腳本自動化)。
bash$ mysql -u root mysql
mysql> UPDATE user SET password=PASSWORD('new password') WHERE user='hunte';
mysql> FLUSH PRIVILEGES;
mysql> QUIT
適用:已有 root 密碼、需批量修改多用戶、腳本化操作。
bash$ mysql -u root mysql
mysql> SET PASSWORD FOR hunte = PASSWORD('new password');
mysql> QUIT
適用:單用戶修改、語法更語義化、無需 FLUSH PRIVILEGES。
bash$ mysqladmin -u root -p'old password' 'new password'
適用:自動化腳本、無需進入 mysql 交互模式、需知舊密碼。
ALTER USER 'hunte'@'%' IDENTIFIED BY 'new password';(自動處理插件、刷新)Password、5.7+ authentication_stringPASSWORD() 在 8.0 已棄用,但仍兼容mysql_secure_installation 清理匿名用戶、測試庫、遠程 root