由于mysql架构的变化,MySQL软件包升级(Debian apt-get)总是会破坏master-master复制

Modified on: Fri, 05 Apr 2019 18:20:02 +0800

我在2台Debian服务器上设置了master-master复制,并且它们复制了所有内容,包括mysql数据库本身(以便新用户等也可以复制)。这通常非常有效,除了大多数(如果不是全部)对mysql的升级涉及对mysql数据库模式的一些更改,这会导致复制错误停止复制。最终,我总是需要通过跳过每一方的错误陈述来手动修复。这总是很耗时,我担心我可能会手动犯错(跳过太多语句,错误输入更改MASTER详细信息等)。

我能做些什么来确保将来对MySQL的apt-get更新能够顺利处理而不会导致复制问题吗?当然,有一个完善的最佳实践吗?

作者:dlo

最佳答案

我不知道它是否适用于所有可能的升级方案,但我刚刚对此进行了测试,升级工作没有任何复制问题:

# /etc/mysql/conf.d/binlog_ignoredb_mysql.cnf.disabled
# Rename this to end in .cnf prior to performing `apt-get upgrade`.
# Otherwise, its attempts to `ALTER TABLE users` will cause replication errors.
# After upgrade is complete, rename back to .disabled and then /etc/init.d/mysql restart

[mysqld]
binlog-ignore-db=mysql

请注意,我的测试是小幅升级(5.5.41到5.5.43)。

作者:dlo

相关问答

添加新评论