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

MySQL 安全配置完整指南:從目錄權限到網絡防護的系統性加固

     編輯:MySQL 綜合教學

安全配置兩大維度

MySQL 安全加固必須從系統內部與外部網絡雙向著手。

系統內部安全:目錄與檔案權限

版本演進與風險

MySQL 版本資料目錄權限風險等級
3.21.x775極高:所有本地用戶可讀
3.22.x770高:同組用戶可讀寫
3.23+700低:僅啟動用戶可存取

標準安全權限設定

# 資料目錄擁有者
chown -R mysql:mysql /usr/local/mysql/var

# 目錄 700,檔案 660
chmod 700 /usr/local/mysql/var
find /usr/local/mysql/var -type f -exec chmod 660 {} \;

驗證檢查

ls -l /usr/local/mysql/var
# 輸出應顯示 drwx------ mysql mysql 以及 -rw------- mysql mysql

服務啟動用戶安全

  • 嚴禁 root 啟動 mysqld:MySQL 3.23.15+ 預設禁止
  • 必須建立專用 mysql 系統用戶啟動服務
  • 若強制需 root 啟動,需加 --user=root 參數(極不推薦)

風險:root 啟動將導致 LOAD DATA INFILE、SELECT ... INTO OUTFILE 擁有 root 寫入權限,可讀取/寫入系統任意檔案。

外部網絡安全

  1. 綁定本地回環:bind-address = 127.0.0.1(僅本機存取)
  2. 防火牆限制:僅允許應用伺服器 IP 存取 3306 埠
  3. SSL 加密連線:生產環境強制啟用 SSL/TLS
  4. 帳號最小權限:應用布號僅授予必要資料庫的 SELECT/INSERT/UPDATE/DELETE

程式開發安全習慣

  • 使用預處理語句防止 SQL 注入
  • 避免在程式碼中硬編碼密碼,使用配置檔/環境變數
  • 定期審計 mysql.user 表,清理無用/過期帳號
  • 啟用審計日誌記錄關鍵操作
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved