2

我正在运行两个 MySQL 数据库——一个在 Amazon AWS 云服务器上,另一个在我网络中的服务器上运行。

这两个数据库在多主配置中正常复制似乎没有问题,但每隔一段时间——一天几次——我的应用程序中出现错误,提示“插件指示服务器回滚当前事务。”

错误会持续几分钟(大约至少 15 分钟),然后再次恢复正常复制。在 MySQL 错误日志中,我没有看到任何错误,但在正常日志文件中,我确实看到了回滚:

2018-09-10T22:50:25.185065Z  4342 Query UPDATE `visit_team` SET `created` = '2018-09-10 12:34:56.306918', `last_updated` = '2018-09-10 22:50:25.183904', `last_changed` = '2018-09-10 22:50:25.183904', `visit_id` = 'J8R2QY', `station_type_id` = 'puffin', `current_state_id` = 680 WHERE `visit_team`.`uuid` = 'S80OSQ'
2018-09-10T22:50:25.185408Z  4342 Query commit
2018-09-10T22:50:25.222304Z  4340 Quit  
2018-09-10T22:50:25.226917Z  4341 Query set autocommit=1
2018-09-10T22:50:25.240787Z  4341 Query SELECT `program_nodeconfig`.`id`, `program_nodeconfig`.`program_id`, `program_nodeconfig`.`node_id`, `program_nodeconfig`.`application_id`, `program_nodeconfig`.`bundle_version_id`, `program_nodeconfig`.`arguments`, `program_nodeconfig`.`station_type_id` FROM `program_nodeconfig` INNER JOIN `supervisor_node` ON (`program_nodeconfig`.`node_id` = `supervisor_node`.`id`) WHERE (`program_nodeconfig`.`program_id` = 'rwrs' AND `supervisor_node`.`cluster_id` = 2 AND `program_nodeconfig`.`station_type_id` = 'osprey')
... Six more select statements happen here, but removed for brevity...
2018-09-10T22:50:25.253520Z  4342 Query rollback
2018-09-10T22:50:25.253624Z  4342 Query set autocommit=1

在上面的日志文件中,即使在提交语句之后,第一行中尝试的 Query UPDATE 也会回滚,并且在 2018-09-10T22:50:25.254394 我收到一个应用程序错误,指出查询已回滚。

我在连接到两个数据库时都看到了错误——包括云和内部。

有谁知道什么会导致复制随机失败,但定期失败,然后重新开始工作?

4

0 回答 0