首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 安全加固全攻略:密碼、連接、檔案權限與啟動參數

     編輯:MySQL 資料庫相關知識

客戶端連接安全

  • 禁用命令列明文密碼:mysql -u root -pmypass 會在進程列表暴露密碼。正確做法:mysql -u root -p 交互輸入,或用 [client] password=xxx 選項檔(檔案權限 600)。
  • SSH 隧道加密遠程連接:Windows 用 Putty/SSH Client 建立 Local Port 3306 → Remote localhost:3306 轉發,本機連 127.0.0.1:3306 即經過加密通道。

服務端運行身份

  • 嚴禁 root 啟動 mysqld:建立專用 mysql 用戶/群組,以該身份運行。
  • 資料目錄權限收斂:
    chown -R mysql:mysql /var/lib/mysql
    chmod -R go-rwx /var/lib/mysql
    僅 mysql 用戶可讀寫,防止本地用戶竊取 .frm/.MYD/.MYI 檔案繞過權限系統直接讀取資料。

日誌檔案風險

  • 通用日誌/更新日誌記錄含密碼的 GRANT/SET PASSWORD 語句,必須設定 chmod 600 並限制訪問用戶。
  • 建議關閉通用日誌,僅保留錯誤日誌與二進制日誌(複製/恢復所需)。

Windows 平台權限細節

  • 資料目錄需 Administrators 群組可讀寫(支援服務啟動),同時 SYSTEM 群組可讀寫(網路服務訪問)。
  • 避免普通用戶直接存取資料目錄。

關鍵啟動參數安全影響

參數作用建議
--secure / --skip-name-resolveIP 反解驗證 / 禁用主機名解析生產環境建議啟用 --skip-name-resolve,授權表僅用 IP,提升連接速度並防 DNS 欺騙。
--skip-grant-tables完全繞過權限系統極度危險,僅用於緊急重置 root 密碼,臨時啟動後立即關閉。
--skip-networking禁用 TCP/IP,僅允許 Unix Socket本地應用專用資料庫可啟用,減少攻擊面。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved