我正在迁移一个集群,该集群具有以下从属跳过错误集:
slave-skip-errors = 0,1062,1053,1051
当然,随着这些事情的发展,没有人知道为什么要这样设置,或者是谁做的,或者他们是否在公司。我也知道为什么不放置任何形式的从属跳过错误,但我对“0”一无所知。我正在设置的复制不会有任何从属跳过错误。
查看http://dev.mysql.com/doc/refman/5.7/en/error-messages-server.html我可以找到所有被跳过的代码。我只能假设零是从属跳过错误的一种包罗万象?我的 google-fu 在这个方面不是很强大,我真的找不到我的问题的答案,所以我希望这里的一些 MySQL 大师能够确认或否认 0,如果它确实如此任何事物。
谢谢!
不应该有任何这些,这个配置指令应该设置为默认值(不忽略任何错误)。就如此容易。如果我是你 - 我会重新初始化整个副本。在逻辑层面上,它几乎不可避免地不同步。
这个都市传说(设置非默认
slave-skip-errors
)来自两件事:read-only
,因此任何仍然连接到它的客户端(由于过时的连接描述符或卡住的连接池)都可能很容易损坏它。所以每个副本可能都需要read-only
,除非有循环链复制(从我的角度来看 - 另一个废话),或者至少明确理解为什么它应该是读写的。