美文网首页
1.6 配置mysql高可用-slave启用并行复制

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

作者: 回眸淡然笑 | 来源:发表于2023-07-05 10:11 被阅读0次

    默认情况下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线程为协程线程,等待转发

    相关文章

      网友评论

          本文标题:1.6 配置mysql高可用-slave启用并行复制

          本文链接:https://www.haomeiwen.com/subject/riqkudtx.html