mysql 配置
rpl_semi_sync_master_enabled =ON rpl_semi_sync_master_timeout =5000 rpl_semi_sync_master_wait_for_slave_count =1 rpl_semi_sync_master_wait_no_slave =ON rpl_semi_sync_master_wait_point =AFTER_SYNC rpl_semi_sync_slave_enabled =ON #*************** group commit *************** binlog_group_commit_sync_delay =1 binlog_group_commit_sync_no_delay_count =1000
#*************** gtid ***************
slave_parallel_type =LOGICAL_CLOCK
slave_parallel_workers =4
master_info_repository =TABLE
relay_log_info_repository =TABLE
这些配置行是用于设置MySQL数据库的复制参数,特别是在使用半同步复制(semi-synchronous replication)和组提交(group commit)时。下面是每一行的解释: 1. `rpl_semi_sync_master_enabled =ON` - 启用半同步复制的主库(master)支持。当设置为ON时,主库会等待至少一个从库(slave)确认接收到事务日志,然后再向客户端返回事务提交成功的响应。 2. `rpl_semi_sync_master_timeout =5000` - 设置主库在等待从库确认时的超时时间,单位为毫秒。如果超过这个时间没有从库确认,主库会认为复制失败,并可能执行一些错误处理操作。 3. `rpl_semi_sync_master_wait_for_slave_count =1` - 设置主库在提交事务前需要等待的从库数量。这里设置为1,意味着主库只需要等待一个从库的确认。 4. `rpl_semi_sync_master_wait_no_slave =ON` - 当没有可用的从库时,主库是否等待。设置为ON意味着如果没有从库,主库会等待直到至少有一个从库可用。 5. `rpl_semi_sync_master_wait_point =AFTER_SYNC` - 设置主库在事务日志同步到从库后等待确认的时机。`AFTER_SYNC`意味着主库在事务日志同步到磁盘后会等待从库的确认。 6. `rpl_semi_sync_slave_enabled =ON` - 启用半同步复制的从库支持。当设置为ON时,从库会向主库发送确认信号,告知已经接收到并应用了事务日志。 7. `binlog_group_commit_sync_delay =1` - 设置组提交的同步延迟时间,单位为毫秒。这是主库在事务日志写入磁盘后,等待其他事务以便一起提交的时间。 8. `binlog_group_commit_sync_no_delay_count =1000` - 设置在触发组提交时不需要等待的事务数量。当达到这个数量的事务时,即使`binlog_group_commit_sync_delay`设置的延迟时间还没有过去,也会执行提交。 9. `slave_parallel_type =LOGICAL_CLOCK` - 设置从库并行复制的类型。`LOGICAL_CLOCK`是一种基于逻辑时钟的并行复制方式,它可以减少复制冲突并提高复制效率。 10. `slave_parallel_workers =4` - 设置从库可以用于并行复制的工作线程数量。这里设置为4,意味着从库可以同时处理4个并行复制的工作线程。 11. `master_info_repository =TABLE` - 设置主库信息存储的位置。`TABLE`意味着主库信息存储在数据库表中,而不是文件中。 12. `relay_log_info_repository =TABLE` - 设置中继日志信息存储的位置。`TABLE`意味着中继日志信息存储在数据库表中,而不是文件中。 这些配置共同作用于提高MySQL数据库复制的可靠性和性能。
时来天地皆同力,运去英雄不自由