Mysql

將 MySQL 5.0 Master 複製到 5.5 Slave?

  • August 10, 2017

我們正在計劃進行一系列伺服器/軟體升級並且很好奇。

我們有一個執行 MySQL 5.0 的 RHEL5 安裝,我們希望將其複製到執行 CentOS 6 和 MySQL 5.5 的新(虛擬化)伺服器。然後,在未來,我們會將 RHEL5 機器升級到 CentOS6 和 MySQL5.5。如果可能,我們希望首先進行此複製。

所以簡短的問題是,有沒有人嘗試將 MySQL 5.0 主伺服器複製到 5.5 從伺服器?

我已經為我雇主的客戶做了幾十次。事實上,我一周前才這樣做。客戶端使用的是 MySQL 5.0.81,並且在 InnoDB 中性能下降。

  • 我創建了一個新的數據庫集群

    • 執行 MySQL 5.5.27
    • 兩個數據庫伺服器(ServerA 和 ServerB)
    • 為多核參與配置 InnoDB
  • 主/從(ServerA Master 和 ServerB Slave)

  • 我在生產的 Slave 上啟用了二進制日誌記錄log_slave_updates

  • mysqldump 所有數據庫(除了 mysql 模式)從生產的 Slave 到 /root/MySQLData.sql

  • 在生產的主伺服器上執行pt-show-grants到 /root/MySQLGrants.sql

  • 使用 /root/MySQLGrants.sql 載入 ServerA

  • 使用 /root/MySQLData.sql 載入 ServerA

  • 我從生產的 Slave (MySQL 5.0.81) 複製到 ServerA (MySQL 5.5.27)

剩下要做的就是

  • 讓客戶端關閉應用程序
  • 從執行 MySQL 5.0.81 的 Master 中刪除 DBVIP
  • 在執行 MySQL 5.5.27 的 Master 上啟動 DBVIP
  • 讓客戶端啟動應用程序

結論

MySQL 5.5 可以處理以前主要版本的複制,而不是相反。

我以前討論過這個

好消息 !!!

我已經在 2012 年 2 月 6 日回復了一篇文章(如何在 MySQL 5.5.20 中設置複製(主/從)?),其中包含您需要的所有步驟。

順便說一句,關於將 MYSQL 授權轉儲為 SQL 命令的步驟,這是我個人對 pt-show-grants 的模擬:

mysql -hhostaddr -umyuserid -pmypassword --skip-column-names -A -e"SELECT CONCAT('SHOW GRANTS FOR ''',user,'''@''',host,''';') FROM mysql.user WHERE user<>''" | mysql -hhostaddr -umyuserid -pmypassword --skip-column-names -A | sed 's/$/;/g' > MySQLUserGrants.sql

試一試 !!!

更新 2012-11-27 11:07 EDT

如果您決定將兩個數據庫伺服器設置為主/主伺服器,我想添加我為設置循環複製所做的其他文章

引用自:https://dba.stackexchange.com/questions/29322