萬盛學電腦網

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

CentOS 7 安裝 Percona Server 完整教學:從備份到調優

Percona Server 是 MySQL 的增強分支,在 InnoDB 高併發效能、診斷工具、參數控制等方面顯著優於官方版,且完全相容 MySQL 協議與生態。本文詳細記錄 CentOS 7 上透過 Yum/RPM 安裝 Percona Server 5.6/5.7 的完整步驟,含資料遷移、配置調優、安全加固與備份恢復。

一、為何選擇 Percona Server?

  • InnoDB 效能增強:分區自適應哈希、快速檢驗和、緩衝池預載、FlashCache 支援
  • 企業級功能開源:審計日誌、線程池、PAM 認證、跨實例匯入表
  • 診斷工具豐富:INFORMATION_SCHEMA 擴展視圖、PERFORMANCE_SCHEMA 深度儀表
  • 完全相容:可與 Oracle MySQL/MariaDB 主從複制、無縫遷移

二、遷移前備份 (關鍵步驟)


# 1. 導出業務庫 (含結構與資料)
mysqldump -u root -p --databases employeedb salesdb > mydatabases.sql

# 2. 備份原配置
cp /etc/my.cnf /etc/my.cnf.bkp

三、移除舊版 MySQL/MariaDB


systemctl stop mysql.service
yum remove MariaDB-server MariaDB-client MariaDB-shared mysql mysql-server
mv /var/lib/mysql /var/lib/mysql_mariadb  # 保留資料目錄作二級備份

四、安裝 Percona Server (Yum 方式推薦)


# 1. 配置 Percona Yum 倉庫
yum install -y https://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm

# 2. 安裝 Server + Client (以 5.7 為例)
yum install -y Percona-Server-server-57 Percona-Server-client-57
# 依賴會自動解決 (含 Perl-DBI、libaio 等)

RPM 離線安裝:從官網下載對應版本全套 RPM,按 shared → client → server 順序 rpm -ivh。

五、配置 Percona Server

1. 恢復舊配置或建立新配置


cp /etc/my.cnf.bkp /etc/my.cnf  # 有備份時
# 或參考官方模板建立新配置 (見下)

2. 核心調優模板 (針對 8G 記憶體專用機)


[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0

# InnoDB 核心
innodb_buffer_pool_size = 5G        # 70% 記憶體
innodb_buffer_pool_instances = 8
innodb_flush_log_at_trx_commit = 2  # 高效能模式
innodb_file_per_table = ON
innodb_log_file_size = 1G
innodb_log_buffer_size = 64M

# 連接與緩衝
max_connections = 2000
thread_cache_size = 32
table_open_cache = 4000
sort_buffer_size = 4M
read_rnd_buffer_size = 4M

# 安全與日誌
skip-name-resolve
log-error=/var/log/mysqld.log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1

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

六、啟動與驗證


systemctl start mysql.service
systemctl enable mysql.service

# 驗證版本
mysql -u root -p -e 'SHOW VARIABLES LIKE "version_comment"'
# 應顯示 Percona Server (GPL), Release 57.xx

若啟動失敗,檢查 /var/log/mysqld.log 或 /var/lib/mysql/$(hostname).err,必要時用 strace -f mysqld_safe 診斷。

七、安全加固


mysql_secure_installation
# 依提示:設 root 密碼、移除匿名用戶、禁止 root 遠端登入、移除 test 庫、重載權限

八、資料恢復


mysql -u root -p < mydatabases.sql

九、後續調優建議

  • 監控 Innodb_buffer_pool_reads / Innodb_buffer_pool_read_requests 確保命中率 > 99%
  • 開啟 performance_schema 監控鎖等待、I/O 延遲
  • 定期 ANALYZE TABLE 更新統計資訊
  • 考慮啟用 thread_pool (Percona 專屬) 應對極高並發

完成上述步驟,你將擁有一個高效能、高可觀測、企業級的 MySQL 兼容資料庫平台。

copyright © 萬盛學電腦網 all rights reserved