将 MySQL 5.0 Master 复制到 5.5 Slave?

xre*_*ref 6 mysql replication mysql-5.5 mysql-5.0

我们正在计划一系列服务器/软件升级并且很好奇。

我们有一个运行 MySQL 5.0 的 RHEL5 安装,我们希望将其复制到运行 CentOS 6 和 MySQL 5.5 的新(虚拟化)服务器。然后,将来我们会将 RHEL5 机器撞到 CentOS6 和 MySQL5.5。如果可能,我们希望首先进行此复制。

所以简短的问题是,有没有人尝试将 MySQL 5.0 主服务器复制到 5.5 从服务器?

Rol*_*DBA 7

我已经为我雇主的客户这样做了几十次。事实上,我一周前才这样做。客户端使用 MySQL 5.0.81 并且在 InnoDB 中性能下降。

  • 我创建了一个新的数据库集群
    • 运行 MySQL 5.5.27
    • 两个数据库服务器(ServerA 和 ServerB)
    • 为多核参与配置 InnoDB
  • 主/从(ServerA Master 和 ServerB Slave)
  • 我在 Production 的 Slave 上启用了二进制日志记录log_slave_updates
  • mysqldump 所有数据库(除了 mysql 模式)从生产的 Slave 到 /root/MySQLData.sql
  • 在 Production 的 Master 上运行pt-show-grants到 /root/MySQLGrants.sql
  • 使用 /root/MySQLGrants.sql 加载 ServerA
  • 使用 /root/MySQLData.sql 加载 ServerA
  • 我从 Production's 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
Run Code Online (Sandbox Code Playgroud)

试一试 !!!

更新 2012-11-27 11:07 EDT

如果您决定将两个数据库服务器设置为主/主服务器,我想添加我为设置循环复制所做的其他帖子


归档时间:

查看次数:

3351 次

最近记录:

8 年,1 月 前