MySQL安全不容忽視,以下彙整23項關鍵防護措施,涵蓋網路傳輸、認證授權、參數過濾、審計監控等層面,助你建立纏深防禦體系。
mysql -u root → UPDATE mysql.user SET password=PASSWORD('newpwd') → FLUSH PRIVILEGES。mysql.user表存取控制:除root外禁止任何用戶存取,加密密碼一旦洩露將導致帳號被盜用。GRANT/REVOKE管理權限:避免直接操作授權表降低出錯風險。MD5()、SHA1()等單向雜湊函數儲存密碼。nmap或telnet驗證,於防火牆/路由器層面攔截。%22、%23、%27),嚴禁未檢查的值直入MySQL。root連線。mysql_real_escape_string()、JavaPreparedStatement等。--skip-symbolic-links。PROCESS/SUPER權限:防止查詢文本洩露(含敏感SQL)、任意切斷連線、修改伺服器狀態。FILE權限:防LOAD DATA INFILE '/etc/passwd'類攻擊。max_user_connections。GRANT資源控制選項:每小時查詢/更新/連線上限。--local-infile=0禁用LOAD DATA LOCAL、--skip-show-databases隱藏資料庫列表、謹慎使用--skip-grant-tables(僅緊急重設密碼時暫用)。--skip-grant-tables啟動 → UPDATE user SET password=PASSWORD('new') WHERE user='root' → FLUSH PRIVILEGES → 重啟。將這23條納入運維規範,定期稽核,能將MySQL安全基線大幅提升,抵禦多數常見攻擊向量。