MySQL 软件包升级 (Debian apt-get) 总是由于 mysql 架构的变化而中断主-主复制

dlo*_*dlo 5 mysql debian mysql-replication apt

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

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

dlo*_*dlo 2

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

# /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
Run Code Online (Sandbox Code Playgroud)

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