首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 5.7 密碼策略報錯 ERROR 1819 完整解決指南

     編輯:MySQL 綜合教學

背景

MySQL 5.7 默認安裝 validate_password 插件,root 初始隨機密碼位於錯誤日誌(/var/log/mysqld.log)。首次登錄必須修改密碼,若新密碼不符合策略則拋出:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

密碼策略三檔

策略等級validate_password_policy 值檢查項目
LOW (0)0 / LOW僅長度
MEDIUM (1)1 / MEDIUM (默認)長度 + 數字 + 大小寫 + 特殊字符
STRONG (2)2 / STRONGMEDIUM + 字典文件檢查

快速放寬至簡單密碼(如 123456)

-- 1. 降級策略至 LOW(僅驗證長度)
SET GLOBAL validate_password_policy = LOW;  -- 或 0

-- 2. 調整最小長度(默認 8,最小 4)
SET GLOBAL validate_password_length = 6;   -- 設為 6,允許 123456

-- 3. 修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';  -- 或 SET PASSWORD = '123456';

-- 4. (可選) 恢復生產級策略
SET GLOBAL validate_password_policy = MEDIUM;
SET GLOBAL validate_password_length = 8;

關鍵參數聯動機制

  • validate_password_length 實際下限 = validate_password_number_count + validate_password_special_char_count + 2×validate_password_mixed_case_count(默認各 1 → 最小 4)。
  • 修改上述三個計數參數任意一個,validate_password_length 會自動調整以滿足下限。
  • 若顯式設定 validate_password_length 低於下限,MySQL 會靜默將其提升至下限(不報錯)。

驗證插件狀態

SHOW VARIABLES LIKE 'validate_password%';
-- 若返回空集合,說明插件未安裝/啟用,密碼策略不生效

生產環境建議

  1. 保持 MEDIUM 策略,配合密碼管理器生成高強度密碼。
  2. 應用賬號使用長隨機字符串(32+ 字符),無需記憶,僅存儲於密碼庫。
  3. 定期輪換,結合 password_expire、password_history(8.0+)強制過期與防重用。
  4. 僅在開發/測試獨立實例臨時降級,操作完成立即恢復。

定位錯誤日誌路徑

SELECT @@log_error;  -- 顯示錯誤日誌絕對路徑
grep 'temporary password' /var/log/mysqld.log  -- 提取初始隨機密碼

理解策略機制,靈活調整,才能在安全與便利間找到平衡點。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved