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

Percona Server 5.5 升級 5.6 完整實戰筆記(邏輯備份+權限遷移)

     編輯:MySQL 綜合教學

環境與升級策略

  • OS:CentOS 6.5 x86_64
  • 來源:Percona Server 5.5.46-37.5
  • 目標:Percona Server 5.6.25-73.1
  • 策略:**邏輯導出 (mysqldump) + 權限導出 (pt-show-grants) → 全新安裝 5.6 → 導入**

優於就地升級:避免系統表結構變更風險、獲得乾淨實例、支援跨大版本、可同時遷移至 Oracle MySQL。

詳細步驟

階段 0:安裝 Percona Toolkit

yum install -y perl-IO-Socket-SSL perl-TermReadKey
rpm -ivh percona-toolkit-2.2.10-1.noarch.rpm

階段 1:備份 5.5 權限與資料

# 1. 導出所有權限
pt-show-grants --user=root --ask-pass --flush > /home/mysql/grants.sql

# 2. 導出用戶庫 (排除系統庫)
mysql -uroot -p -BNe "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA 
  WHERE SCHEMA_NAME NOT IN ('mysql','performance_schema','information_schema')" \
  | tr '\n' ' ' > /home/mysql/dbs-to-dump.sql

# 3. 邏輯全量備份
mysqldump -uroot -p --routines --events --single-transaction \
  --databases $(cat /home/mysql/dbs-to-dump.sql) > /home/mysql/full-data-dump.sql

階段 2:停庫、移除舊資料目錄

service mysql stop
mv /var/lib/mysql /var/lib/mysql55
mkdir /var/lib/mysql && chown -R mysql:mysql /var/lib/mysql

階段 3:安裝 Percona Server 5.6

# 因共享庫衝突,需強制/節點安裝
rpm -ivh Percona-Server-shared-56-*.rpm --force
rpm -ivh Percona-Server-client-56-*.rpm --force --nodeps
rpm -ivh Percona-Server-devel-56-*.rpm --force --nodeps
rpm -ivh Percona-Server-test-56-*.rpm --force --nodeps

# 移除 5.5 server
rpm -e Percona-Server-server-55-5.5.46-rel37.5.el6.x86_64 --nodeps

# 安裝 5.6 server
rpm -ivh Percona-Server-server-56-*.rpm --force --nodeps

安裝過程會自動初始化系統表空間、redo log、產生新的 ibdata1、ib_logfile*。

階段 4:啟動 5.6、導入權限與資料

service mysql start
mysqladmin -u root password 'oracle'   # 設定臨時密碼
mysql -uroot -p < /home/mysql/grants.sql
mysql -uroot -p -e "SET GLOBAL max_allowed_packet=1G"
mysql -uroot -p --max-allowed-packet=1G < /home/mysql/full-data-dump.sql

階段 5:驗證

mysql -uroot -p -e "USE prod; SELECT * FROM emp;"
-- 正確輸出 3 筆測試資料,升級成功

關鍵注意點

  • max_allowed_packet:導入大 SQL 檔時必須同步調大客戶端與伺服器端。
  • 權限導入報錯 1045:新實例預設 root 無密碼,先用 mysqladmin 設密再導入。
  • 系統表不遷移:mysql、performance_schema、information_schema 由新版本自動建立,舊權限通過 grants.sql 重建。
  • 字符集:範例使用 latin1,生產環境建議統一 utf8mb4。

通用性說明

此流程**完全適用於 Oracle MySQL 5.5 → 5.6/5.7**,甚至 Oracle MySQL → Percona Server 互遷,只需替換 RPM 包來源。

完成上述步驟,獲得乾淨、穩定的 5.6 實例,所有表在新版本重建載入,二進位日誌完整可用,可放心恢復業務流量。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved