16.4.1.19 复制和 max_allowed_packet

max_allowed_packet设置 MySQL 服务器与 Client 端(包括副本)之间的任何单个消息的大小的上限。如果您正在复制较大的列值(例如在TEXTBLOB列中找到的值),并且max_allowed_packet在源文件上太小,则源文件将失败并出现错误,并且副本文件将关闭复制 I/O 线程。如果副本上的max_allowed_packet太小,这也会导致副本停止复制 I/O 线程。

基于行的复制当前将所有已更新行的列和列值从源发送到副本,包括更新未实际更改的列的值。这意味着,当您使用基于行的复制来复制较大的列值时,即使只复制更新或正在插入,也必须注意将max_allowed_packet设置得足够大以容纳要复制的任何 table 中的最大行。只有相对较小的值。