使用性能模式监控多线程复制延迟已成为常态。DBA通过查询`replication_connection_status`和`replication_applier_status_by_worker`表,能够更准确地监控复制延迟,尤其是在多线程复制的情况下。尽管`Seconds_Behind_Source`仍然有效,但仅提供粗略估计。
MySQL 8.0引入多线程复制(MTR),改善复制延迟监控。通过二进制日志组提交(BGC)和事务依赖跟踪提高性能。组提交减少事务刷新次数,事务提交分为准备、同步和提交阶段,使用逻辑时钟和写集进行依赖跟踪。写集识别非冲突事务,实现更高并行性。MySQL 8.4移除部分系统变量,未来版本将使用WRITESET和LOGICAL_CLOCK。
MySQL复制速度快,但复制延迟是常见问题。通过实验和性能模式二进制日志,可以看到MySQL复制之所以快,是因为副本只应用数据更改,而不执行查询。此外,使用基于行的复制,副本通过主键查找应用数据更改,速度更快。MySQL 8.x的多线程复制也是默认设置,可以进一步提高复制速度。了解MySQL复制的内部工作原理有助于解决复制延迟问题。
完成下面两步后,将自动完成登录并继续当前操作。