mysql> show global variables like '%rpl_semi%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| rpl_semi_sync_slave_enabled | ON |
| rpl_semi_sync_slave_trace_level | 32 |
+---------------------------------+-------+
2 rows in set (0.00 sec)
如果在slave端开启io线程后,会自动调转为半同步模式进行数据传输
关闭io线程 在master上再进行事务时会等待10s后从半同步状态转为异步。
当第二次进行数据插入时会变成异步同步
MySQL并行复制
多线程工作
Slave端修改配置文件:
[mysqld]
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=16 #开启16个线程工作
master_info_repository=TABLE #以表的形式存放master_info的信息
relay_log_info_repository=TABLE #以表的形式存放relay_log_info的信息
relay_log_recovery=ON #
重启服务
`/etc/init.d/mysqld restart`
当进入数据库的mysql库中,可以执行sql语句:
`select * from slave_master_info;`
可以看到原本在/var/lib/mysql下的relay-log.info的文件已经转为数据库中的表。