MySQL - 多线程复制

430 阅读1分钟

阅读本文前请自行配置好 Mysql 主从复制环境

 Mysql-主从复制

 Mcat-配置主从复制路由(非必须)

Mysql 多线程简绍

        'Mysql多线程的产生主要是为了解决Mysql在进行主从复制时出现延迟的问题,大家可以把多线程复制理解成Mysql主从复制的一个蓝BUFF'
    
        早在Mysql5.6就已经开始支持多线程复制, 但是当时技术并不是很成熟,所以大家在配置多线程复制时最好选择 'mysql5.7.2'
以上的版本进行配置。

Mysql 多线程配置

  • 接下来的操作只需要在从服务器上进行就可以,无需修改主服务器配置。
    (0):停止mysql线程同步
    'mysql> stop slave'
    
    (1): 修改mysql配置文件 '[/etc/my.cnf]'
    # [mysqld] 添加内容如下
    slave_parallel_type = logical_clock # 并行复制模式
    slave_parallel_workers = 8          # 并行复制线程数
    
    (2): 重启mysql进程
    'root@localhost> systemctl restart mysqld'
    (3): 检查配置状态
    'mysql> show variables like 'slave_parallel%';'
    'mysql> show processlist;'

配置很简单,已经全部结束了,大家可以在主服务器上建个存储过程验证一下同步速度

mysql> delimiter ?

mysql> create procedure test()
    -> begin
    -> declare pid int;
    -> set pid = 10000;
    -> while pid>0 do
    -> insert into item(val) values ('aaa'); 

    -> set pid = pid-1;                                                                                                                                              

    -> end while;

    -> end ?

mysql> delimiter ;
mysql> call ptest();