萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

MySQL 資料庫安全配置與實用技巧全攻略

前言

MySQL 是跨平台、網路化的關聯式資料庫,與 PHP 搭配廣泛。預設配置為通用兼容,生產環境必須進行安全加固。

一、系統內部安全

1. 目錄結構與檔案權限

資料目錄(預設 /usr/local/mysql/var)下每個資料庫一個子目錄,表對應 .frm/.MYD/.MYI 三個檔案。

權限原則: 僅啟動 MySQL 的系統用戶(如 mysql)可讀寫資料目錄與檔案。

drwx------ 4 mysql mysql 4096 var/
drwx------ 2 mysql mysql 4096 var/mysql/
-rw------- 1 mysql mysql  8778 columns_priv.frm

若權限不正確,執行:

chown -R mysql.mysql /usr/local/mysql/var
chmod -R go-rwx /usr/local/mysql/var

2. 授權表與本地用戶風險

本地用戶若有資料目錄讀權限,可直接複製資料庫檔案到其他機器竊取資料。因此作業系統層面的安全是前提。

二、外部網路安全

  • 防火牆僅開放必要 IP 存取 3306 埠。
  • 禁用或限制 root 遠程登入,建立專用應用帳號、最小權限。
  • 啟用 SSL 加密傳輸(require_secure_transport=ON)。

三、編程與運維小撇步

  • 預處理語句防止 SQL 注入。
  • 定期審計 mysql.user、db、tables_priv 權限表。
  • 啟用慢查詢日誌、錯誤日誌、二進制日誌(Binlog)供審計與恢復。
  • 備份策略:全備 + 增量 Binlog,定期演練恢復。
copyright © 萬盛學電腦網 all rights reserved