1.6 配置mysql高可用-slave启用并行复制

默认情况下process如下

mysql> show processlist;
+----+-------------+-----------+--------+---------+-------+--------------------------------------------------------+------------------+
| Id | User        | Host      | db     | Command | Time  | State                                                  | Info             |
+----+-------------+-----------+--------+---------+-------+--------------------------------------------------------+------------------+
|  8 | system user |           | NULL   | Connect | 70100 | Waiting for master to send event                       | NULL             |//IO线程
|  9 | system user |           | NULL   | Connect | 57345 | Slave has read all relay log; waiting for more updates | NULL             |//中继线程,单线程
| 10 | root        | localhost | master | Query   |     0 | starting                                               | show processlist |
+----+-------------+-----------+--------+---------+-------+--------------------------------------------------------+------------------+
3 rows in set (0.00 sec)

开启并行复制,编辑slave的/etc/my.cnf,新增如下信息

slave-parallel-type=LOGICAL_CLOCK//设置通过组提交,database是几个数据库就起几个线程,当只有一个数据库时,一个线程不够,所以引入组复制,一组一个线程
slave-parallel-workers=16 //并行复制sql线程数
master_info_repository=TABLE //data/mysql里的master.info和relay-log.info以表的形式存到数据库中
relay_log_info_repository=TABLE
relay_log_recovery=ON//激活中继日志

重启mysql后再次进入mysql查看

mysql> show processlist;
+----+-------------+-----------+------+---------+------+--------------------------------------------------------+------------------+
| Id | User        | Host      | db   | Command | Time | State                                                  | Info             |
+----+-------------+-----------+------+---------+------+--------------------------------------------------------+------------------+
|  1 | system user |           | NULL | Connect |   36 | Waiting for master to send event                       | NULL             |
|  2 | system user |           | NULL | Connect |   35 | Slave has read all relay log; waiting for more updates | NULL             |
|  3 | system user |           | NULL | Connect |   36 | Waiting for an event from Coordinator                  | NULL             |
|  4 | system user |           | NULL | Connect |   36 | Waiting for an event from Coordinator                  | NULL             |
|  5 | system user |           | NULL | Connect |   36 | Waiting for an event from Coordinator                  | NULL             |
|  6 | system user |           | NULL | Connect |   36 | Waiting for an event from Coordinator                  | NULL             |
|  8 | root        | localhost | NULL | Query   |    0 | starting                                               | show processlist |
+----+-------------+-----------+------+---------+------+--------------------------------------------------------+------------------+
7 rows in set (0.00 sec)

可以看到,多了四条数据,这四条数据代表4个sql线程为协程线程,等待转发

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容