返回顶部
首页 > 资讯 > 数据库 >MYSQL并行复制怎么实现
  • 621
分享到

MYSQL并行复制怎么实现

2024-04-02 19:04:59 621人浏览 独家记忆
摘要

本篇内容介绍了“Mysql并行复制怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

本篇内容介绍了“Mysql并行复制怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

MySQL5.6开始执行基于库级别的并行复制,MYSQL5.7支持基于表和行级别的并行复制(Enhanced Multi-Threaded Slave),这里主要是配置MYSQL5.7的基于组提交的并行复制。
一、环境描述

名称    版本    备注
操作系统    RHEL6.5_X86_64    
数据库    5.7.18-15   Percona二进制版本
复制节点  10.26.7.129 node1 主节点
    10.26.7.142 node2 从节点

二、主要相关配置参数
node1节点:
#replicate
server-id=1001
skip-slave-start = false
read-only = false
log-slave-updates = 1
expire_logs_days = 2
max_binlog_size = 1G
max_binlog_cache_size = 2G
log-bin = /home/mysql/mysql-bin
log-bin-index = /home/mysql/bin-index
sync_binlog = 1
binlog_fORMat = row
log-slow-slave-statements = 1
max-relay-log-size = 1G
relay-log = /home/mysql/mysql-relay
relay-log-index = /home/mysql/relay-index
relay_log_recovery=ON
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE

node2节点
#replicate
server-id=1002
skip-slave-start = false
read-only = false
log-slave-updates = 1
expire_logs_days = 2
max_binlog_size = 1G
max_binlog_cache_size = 2G
log-bin = /home/mysql/mysql-bin
log-bin-index = /home/mysql/bin-index
sync_binlog = 1
binlog_format = row
log-slow-slave-statements = 1
max-relay-log-size = 1G
relay-log = /home/mysql/mysql-relay
relay-log-index = /home/mysql/relay-index
relay_log_recovery=ON
gtid_mode=ON
enforce_gtid_consistency=ON
master_info_repository=TABLE
relay_log_info_repository=TABLE
binlog_checksum=NONE

#parallel slave
slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=8

##slave-parallel-type
  DATABASE:默认值,基于库的并行复制方式
  LOGICAL_CLOCK:基于组提交的并行复制方式
三、数据库启动并配置主从服务
数据库启动略
node2从节点执行下面命令:
change master to master_host='10.26.7.129',master_user='rpl_user',master_passWord='rpl_pass',master_port=3306,master_auto_position=1;
start slave;
show slave status \G

点击(此处)折叠或打开

  1. (root:localhost:Thu Jul 20 11:21:10 2017)[(none)]>show slave status \G

  2. *************************** 1. row ***************************

  3.                Slave_IO_State: Waiting for master to send event

  4.                   Master_Host: 10.26.7.129

  5.                   Master_User: rpl_user

  6.                   Master_Port: 3306

  7.                 Connect_Retry: 60

  8.               Master_Log_File: mysql-bin.000006

  9.           Read_Master_Log_Pos: 190

  10.                Relay_Log_File: mysql-relay.000002

  11.                 Relay_Log_Pos: 355

  12.         Relay_Master_Log_File: mysql-bin.000006

  13.              Slave_IO_Running: Yes

  14.             Slave_SQL_Running: Yes

  15.               Replicate_Do_DB:

  16.           Replicate_Ignore_DB:

  17.            Replicate_Do_Table:

  18.        Replicate_Ignore_Table:

  19.       Replicate_Wild_Do_Table:

  20.   Replicate_Wild_Ignore_Table:

  21.                    Last_Errno: 0

  22.                    Last_Error:

  23.                  Skip_Counter: 0

  24.           Exec_Master_Log_Pos: 190

  25.               Relay_Log_Space: 550

  26.               Until_Condition: None

  27.                Until_Log_File:

  28.                 Until_Log_Pos: 0

  29.            Master_SSL_Allowed: No

  30.            Master_SSL_CA_File:

  31.            Master_SSL_CA_Path:

  32.               Master_SSL_Cert:

  33.             Master_SSL_Cipher:

  34.                Master_SSL_Key:

  35.         Seconds_Behind_Master: 0

  36. Master_SSL_Verify_Server_Cert: No

  37.                 Last_IO_Errno: 0

  38.                 Last_IO_Error:

  39.                Last_SQL_Errno: 0

  40.                Last_SQL_Error:

  41.   Replicate_Ignore_Server_Ids:

  42.              Master_Server_Id: 1001

  43.                   Master_UUID: 2faa74b8-66bb-11e7-ab7e-b8ca3a6a61ec

  44.              Master_Info_File: mysql.slave_master_info

  45.                     SQL_Delay: 0

  46.           SQL_Remaining_Delay: NULL

  47.       Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

  48.            Master_Retry_Count: 86400

  49.                   Master_Bind:

  50.       Last_IO_Error_Timestamp:

  51.      Last_SQL_Error_Timestamp:

  52.                Master_SSL_Crl:

  53.            Master_SSL_Crlpath:

  54.            Retrieved_Gtid_Set:

  55.             Executed_Gtid_Set: 2faa74b8-66bb-11e7-ab7e-b8ca3a6a61ec:1-28,

  56. 35e38786-66bb-11e7-bcc3-b8ca3a6a61a4:1

  57.                 Auto_Position: 1

  58.          Replicate_Rewrite_DB:

  59.                  Channel_Name:

  60.            Master_TLS_Version:

  61. 1 row in set (0.00 sec)

四、数据库多线程复制测试、状态监控
node1:

点击(此处)折叠或打开

  1. (root:localhost:Thu Jul 20 11:23:05 2017)[(none)]>drop database db01;

  2. Query OK, 1 row affected (0.02 sec)


  3. (root:localhost:Thu Jul 20 11:23:17 2017)[(none)]>use dbtest;

  4. Database changed

  5. (root:localhost:Thu Jul 20 11:23:22 2017)[dbtest]>create table t(id int);

  6. Query OK, 0 rows affected (0.01 sec)


  7. (root:localhost:Thu Jul 20 11:25:03 2017)[dbtest]>insert into t values(10);

  8. Query OK, 1 row affected (0.01 sec)

node2:

点击(此处)折叠或打开

  1. (root:localhost:Thu Jul 20 11:23:12 2017)[(none)]>show databases;

  2. +--------------------+

  3. | Database |

  4. +--------------------+

  5. | information_schema |

  6. | dbtest |

  7. | mysql |

  8. | performance_schema |

  9. | sys |

  10. +--------------------+

  11. 5 rows in set (0.00 sec)


  12. (root:localhost:Thu Jul 20 11:25:12 2017)[(none)]>use dbtest;

  13. Database changed

  14. (root:localhost:Thu Jul 20 11:25:15 2017)[dbtest]>select * from t;

  15. +------+

  16. | id |

  17. +------+

  18. | 10 |

  19. +------+

  20. 1 row in set (0.00 sec)

  21. (root:localhost:Thu Jul 20 11:25:20 2017)[dbtest]>show slave status \G

  22. *************************** 1. row ***************************

  23.                Slave_IO_State: Waiting for master to send event

  24.                   Master_Host: 10.26.7.129

  25.                   Master_User: rpl_user

  26.                   Master_Port: 3306

  27.                 Connect_Retry: 60

  28.               Master_Log_File: mysql-bin.000006

  29.           Read_Master_Log_Pos: 732

  30.                Relay_Log_File: mysql-relay.000002

  31.                 Relay_Log_Pos: 897

  32.         Relay_Master_Log_File: mysql-bin.000006

  33.              Slave_IO_Running: Yes

  34.             Slave_SQL_Running: Yes

  35.               Replicate_Do_DB:

  36.           Replicate_Ignore_DB:

  37.            Replicate_Do_Table:

  38.        Replicate_Ignore_Table:

  39.       Replicate_Wild_Do_Table:

  40.   Replicate_Wild_Ignore_Table:

  41.                    Last_Errno: 0

  42.                    Last_Error:

  43.                  Skip_Counter: 0

  44.           Exec_Master_Log_Pos: 732

  45.               Relay_Log_Space: 1092

  46.               Until_Condition: None

  47.                Until_Log_File:

  48.                 Until_Log_Pos: 0

  49.            Master_SSL_Allowed: No

  50.            Master_SSL_CA_File:

  51.            Master_SSL_CA_Path:

  52.               Master_SSL_Cert:

  53.             Master_SSL_Cipher:

  54.                Master_SSL_Key:

  55.         Seconds_Behind_Master: 0

  56. Master_SSL_Verify_Server_Cert: No

  57.                 Last_IO_Errno: 0

  58.                 Last_IO_Error:

  59.                Last_SQL_Errno: 0

  60.                Last_SQL_Error:

  61.   Replicate_Ignore_Server_Ids:

  62.              Master_Server_Id: 1001

  63.                   Master_UUID: 2faa74b8-66bb-11e7-ab7e-b8ca3a6a61ec

  64.              Master_Info_File: mysql.slave_master_info

  65.                     SQL_Delay: 0

  66.           SQL_Remaining_Delay: NULL

  67.       Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates

  68.            Master_Retry_Count: 86400

  69.                   Master_Bind:

  70.       Last_IO_Error_Timestamp:

  71.      Last_SQL_Error_Timestamp:

  72.                Master_SSL_Crl:

  73.            Master_SSL_Crlpath:

  74.            Retrieved_Gtid_Set: 2faa74b8-66bb-11e7-ab7e-b8ca3a6a61ec:29-31

  75.             Executed_Gtid_Set: 2faa74b8-66bb-11e7-ab7e-b8ca3a6a61ec:1-31,

  76. 35e38786-66bb-11e7-bcc3-b8ca3a6a61a4:1

  77.                 Auto_Position: 1

  78.          Replicate_Rewrite_DB:

  79.                  Channel_Name:

  80.            Master_TLS_Version:

  81. 1 row in set (0.00 sec)

(root:localhost:Thu Jul 20 11:27:34 2017)[information_schema]>use performance_schema;
Database changed
(root:localhost:Thu Jul 20 11:27:38 2017)[performance_schema]>show tables like '%replica%';    
+-------------------------------------------+
| Tables_in_performance_schema (%replica%)  |
+-------------------------------------------+
| replication_applier_configuration         |
| replication_applier_status                |
| replication_applier_status_by_coordinator |
| replication_applier_status_by_worker      |
| replication_connection_configuration      |
| replication_connection_status             |
| replication_group_member_stats            |
| replication_group_members                 |
+-------------------------------------------+
8 rows in set (0.00 sec)

多线复制状态监控
select * from  replication_applier_status_by_coordinator     ;
select * from   replication_applier_status_by_worker ;

“MYSQL并行复制怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: MYSQL并行复制怎么实现

本文链接: https://lsjlt.com/news/59659.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MYSQL并行复制怎么实现
    本篇内容介绍了“MYSQL并行复制怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • MySQL Replication中并行复制怎么实现
    这篇文章主要介绍“MySQL Replication中并行复制怎么实现”,在日常操作中,相信很多人在MySQL Replication中并行复制怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-07-02
  • 浅析MySQL并行复制
    01 并行复制的概念    在MySQL的主从复制架构中,主库上经常会并发的执行很多SQL,只要这些SQL没有产生锁等待,那么同一时间并发好几个SQL线程是没有问题的。    ...
    99+
    2022-05-31
    MySQL 并行复制 mysql 复制
  • MySQL5.7并行复制原理及实现
    稍微了解过一点的数据的运维就知道MySQL 5.5以及之前是单SQL线程回放,如果Master QPS稍微高点,从上就有延迟了,5.6是基于库的并行回放机制,只有当多个库的话才有复制才有优势,而5.7是基于组的并行回...
    99+
    2022-06-01
    MySQL5.7并行复制 MySQL 并行复制
  • Mysql复制方式(半同步复制,并行复制,多源复制
    一、MySQL主从复制(异步复制,默认) Mysql主从复制原理 Mysql的复制原理大致如下: 1.主库记录binlog日志 在每次准备提交事务完成数据更新前,主库将数据更新的事件记录到二进制日志binlog中。主库上的s...
    99+
    2017-10-08
    Mysql复制方式(半同步复制,并行复制,多源复制
  • MySQL中怎么实现并发控制
    今天就跟大家聊聊有关MySQL中怎么实现并发控制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。锁锁分为读锁和写锁两种,也称作共享锁和排他锁。因为多个...
    99+
    2024-04-02
  • 浅析MySQL的WriteSet并行复制
    【历史背景】   岁月更迭中我已经从事MySQL-DBA这个工作三个年头,见证MySQL从“基本可用”,“边缘系统可以用MySQL”,“哦操!你怎么不用MySQL”;   正所谓!“一个数据库的境遇既取决于历史的进程...
    99+
    2022-05-31
    MySQL WriteSet并行复制 MySQL WriteSet MySQL 并行复制
  • 如何进行MySQL并行复制测试
    今天就跟大家聊聊有关如何进行MySQL并行复制测试,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。    对于主从延迟,其实一...
    99+
    2024-04-02
  • MySQL并行复制的深入浅出
    一、并行复制的背景 首先,为什么会有并行复制这个概念呢? 1.DBA都应该知道,MySQL的复制是基于binlog的。 2.MySQL复制包括两部分,IO线程 和 SQL线程...
    99+
    2022-05-24
    MySQL MySQL
  • mysql中怎么实现蠕虫复制
    这期内容当中小编将会给大家带来有关mysql中怎么实现蠕虫复制,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。蠕虫复制,顾名思义自己复制自己,并且数量成倍也就是以指数的形式...
    99+
    2024-04-02
  • Mysql中怎么实现延时复制
    今天就跟大家聊聊有关Mysql中怎么实现延时复制,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。首先研究下mysql的复制结构,4.0以上开始,复制分...
    99+
    2024-04-02
  • MySQL中怎么实现主主复制
    今天就跟大家聊聊有关MySQL中怎么实现主主复制 ,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 1 机器规划 192.168.6....
    99+
    2024-04-02
  • MySQL中怎么实现异步复制
    这篇文章将为大家详细讲解有关MySQL中怎么实现异步复制,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、MYSQL复制架构衍生史在2000年,MySQL ...
    99+
    2024-04-02
  • MySQL异步复制和半同步复制怎么实现
    这篇文章主要介绍“MySQL异步复制和半同步复制怎么实现”,在日常操作中,相信很多人在MySQL异步复制和半同步复制怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”My...
    99+
    2024-04-02
  • MySQL并发复制系列三:MySQL和MariaDB实现对比
    并发复制(Parallel Replication) 系列三:MySQL 5.7 和MariaDB 10的parallel replication对比 作者:沃趣科技MySQL数据库工程师  ...
    99+
    2024-04-02
  • MySQL中怎么实现主从复制和半同步复制
    这篇文章将为大家详细讲解有关MySQL中怎么实现主从复制和半同步复制,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。一、复制的介绍MySQL支持单向、异步复制...
    99+
    2024-04-02
  • MySQL中怎么实现半同步复制
    MySQL中怎么实现半同步复制,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。半同步复制:什么是半同步复制我们知道在默认情况下,...
    99+
    2024-04-02
  • MySQL Replication中的并行复制示例详解
    目录传统单线程复制说明总结mysql5.6基于库级别的并行复制MySQL5.7基于组提交的并行复制组提交说明MySQL8.0基于writeset的并行复制关键参数查看参数配置项说明引用资料:传统单线程复制说明 众所周知,...
    99+
    2022-07-01
    MySQL Replication并行复制 MySQL 并行复制
  • 深入浅出讲解MySQL的并行复制
    一、并行复制的背景 首先,为什么会有并行复制这个概念呢? 1. DBA都应该知道,MySQL的复制是基于binlog的。  2. MySQL复制包括两部分,IO线程 和 SQL线程。 ...
    99+
    2024-04-02
  • Mysql5.7如何并行复制
    这篇文章将为大家详细讲解有关Mysql5.7如何并行复制,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。启用MySQL并行复制MySQL 5.7的并行复制建立在组提交的基础...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作