Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

CentOS 7 MySQL 5.7 部署全流程:安裝、配置、安全加固與驗證

編輯:Linux 教學

MySQL 作為最流行的開源關係型資料庫,在 CentOS 上的標準化部署流程對運維與開發同樣重要。本文以 CentOS 7 + MySQL 5.7 為例,梳理從軟體安裝到生產就緒的完整路徑,並針對字元集、權限模型、服務管理等易踩坑點給出最佳實踐建議。

1. 軟體安裝與版本確認

# yum install -y mysql-server mysql-devel mysql
# mysql --version
mysql  Ver 14.14 Distrib 5.7.x for linux-glibc2.12 (x86_64)

建議啟用 EPEL 或官方 RPM 源以獲取更新版本;生產環境推薦編譯安裝或使用 Percona/MariaDB 分支以獲得更好效能。

2. 核心配置優化 /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
innodb_buffer_pool_size=1G   # 物理記憶體 60-70%
innodb_log_file_size=256M
max_connections=500

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysql]
default-character-set=utf8mb4

關鍵點:
✅ 採用 utf8mb4 完整支援 Emoji 及生僻字
✅ 關閉 symbolic-links 降低安全風險
✅ InnoDB 核心參數依機器記憶體調整,避免 OOM

3. 服務啟動與開機自啟

# systemctl enable mysqld
# systemctl start mysqld
# systemctl status mysqld

CentOS 7 採用 systemd,舊版 chkconfig 命令已棄用,改用 systemctl 統一管理。

4. 安全初始化與權限收口

# mysql_secure_installation
# 或手動執行:
mysql -u root -p
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('StrongP@ssw0rd');
SET PASSWORD FOR 'root'@'127.0.0.1' = PASSWORD('StrongP@ssw0rd');
DELETE FROM mysql.user WHERE User='';
DROP DATABASE IF EXISTS test;
FLUSH PRIVILEGES;

必做項:
🔒 設定強密碼(含大小寫、數字、特殊符號,≥12 位)
🔒 刪除匿名帳號與測試庫
🔒 禁止 root 遠端登入,改用專用應用帳號 + 最小權限原則
🔒 生產環境啟用 SSL 傳輸加密

5. 驗證與後續運維

# 連線測試
mysql -u root -p -e "SELECT VERSION(); SHOW VARIABLES LIKE 'character_set%';"

# 監控關鍵指標
SHOW GLOBAL STATUS LIKE 'Threads_connected';
SHOW ENGINE INNODB STATUS\G

建議接入 Prometheus + Grafana 監控 QPS、緩存命中率、慢查詢等指標,並配置 xtrabackup 定時全備 + Binlog 增備,制定 RTO/RPO 達標的災難恢復演練計畫。

避坑清單

  • SELinux 阻擋資料目錄讀寫 → `setsebool -P mysql_connect_any 1` 或調整標籤
  • 防火牆未放行 3306 → `firewall-cmd --add-service=mysql --permanent`
  • 字元集不一致導致亂碼 → 全鏈路統一 utf8mb4(資料庫、表、連線、應用層)

標準化部署流程 + 持續優化配置 = 穩定高效的 MySQL 服務基石。

Copyright © Windows教程網 All Rights Reserved