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数据库复制的可靠性和性能。

 

posted @ 2024-12-30 03:46  滴滴滴  阅读(19)  评论(0编辑  收藏  举报