我在主从设置中有 MySQL (5.5) 并创建了另一个从服务器。
我停止了原来的奴隶,转储数据,复制并重新导入,它工作正常。我记下了原始从站的 master_log 位置,并使用这些命令将其设置在新从站上
CHANGE MASTER TO MASTER_HOST='<ipaddress>',
MASTER_USER='<username>', MASTER_PASSWORD='<password>',
MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000851',
MASTER_LOG_POS=15824150,
MASTER_CONNECT_RETRY=10;
当我开始新的奴隶时,我得到了
Last_IO_Error:从二进制日志中读取数据时,从 master 收到致命错误 1236:'日志事件条目超出 max_allowed_packet;增加 master 上的 max_allowed_packet'
但是,当我启动原始从属设备时,它赶上了就好了,现在已经同步了。
所以问题:
当前值为16M,我怎么知道要走多大?(我宁愿避免在生产服务器上反复试验)。
当原来的奴隶应付得很好时,为什么我需要增加主人的价值,问题真的出在新奴隶身上吗?
更新
我将 max_allowed_packet 增加到 1073741824,正如 Rolando 在 master、old slave 和 new slave 上建议的那样,然后重新启动它们(SET GLOBAL max_allowed_packet = 1073741824;
由于某种原因似乎没有接受)
现在最后一个 IO 错误和以前一样,但现在我明白了
Last_SQL_Error:中继日志读取失败:无法解析中继日志事件条目。可能的原因是:主服务器的二进制日志已损坏(您可以通过在二进制日志上运行“mysqlbinlog”来检查),从服务器的中继日志已损坏(您可以通过在中继日志上运行“mysqlbinlog”来检查),a网络问题,或者主从的 MySQL 代码中的错误。如果你想检查主服务器的二进制日志或从服务器的中继日志,你可以通过在这个从服务器上发出“SHOW SLAVE STATUS”来知道它们的名字。
如果我在主文件上执行 mysqlbinlog,它会很高兴地滚动过去很长时间 - 该文件是 722M - 如果我对从属中继日志执行此操作,我会得到
错误:Log_event::read_log_event() 中的错误:“完整性检查失败”,data_len:38916267,event_type:69
错误:无法读取偏移量 253 处的条目:日志格式错误或读取错误。
我检查了变量并且更改有效
mysql> 显示变量 LIKE '%max_allowed_packet%';
在新的奴隶上显示max_allowed_packet
ANDslave_max_allowed_packet
在哪里只有在主人身上max_allowed_packet
所以我对master进行了版本检查:
mysql> show variables LIKE '%version%';
+-------------------------+--------------------------------------+
| Variable_name | Value |
+-------------------------+--------------------------------------+
| innodb_version | 1.1.6 |
| protocol_version | 10 |
| slave_type_conversions | |
| version | 5.5.11-log |
| version_comment | MySQL Community Server (GPL) by Remi |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+--------------------------------------+
和新的奴隶
mysql> show variables LIKE '%version%';
+-------------------------+--------------------------------------+
| Variable_name | Value |
+-------------------------+--------------------------------------+
| innodb_version | 5.5.32 |
| protocol_version | 10 |
| slave_type_conversions | |
| version | 5.5.32-log |
| version_comment | MySQL Community Server (GPL) by Remi |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+--------------------------------------+
这两个版本相差太远了吗?