資料庫往往存放企業核心資產(客戶資料、交易紀錄、知識產權)。除備份機制外,主動防禦未授權存取同樣關鍵。MySQL 內建多項安全功能,善用可大幅降低風險。
MySQL 透過 mysql.user、db、tables_priv、columns_priv 等授權表控制存取。避免使用 %、_ 萬用字元授予整庫/整表權限。採用最小權限原則:
SHOW GRANTS FOR 'user'@'host';GRANT ALL ON *.*。SUPER、SHUTDOWN、FILE 等高危權限。validate_password 元件(MySQL 5.6+),強制長度、大小寫、數字、特殊字元。--secure-auth。~/.my.cnf、/etc/my.cnf)以純文字儲存密碼。600,擁有者為對應使用者。require_secure_transport=ON,配置伺服器/客戶端憑證。--skip-networking,僅允許 Unix Socket 連線。bind-address=127.0.0.1。MariaDB Audit Plugin、MySQL Enterprise Audit)記錄 DDL/DML 操作。資料庫安全非一次性工作,需納入變更管理、滲透測試、補丁管理週期。參考 CIS MySQL Benchmark、PCI DSS 需求進行定期合規檢查。