初试mysql5.7.2新特性:多源复制(MySQL 5.7 multi-source replication)
多源复制和多主复制的区别:
多主复制示意图:

多源复制示意图:

在my.cnf中添加crash safe特性参数:
master_info_repository=TABLE;
relay_log_info_repository=TABLE;
mysql> change master to master_host="10.186.21.102", master_port=13306, master_user="repl",master_password="repl" for channel="master1";
Query OK, 0 rows affected(0.01 sec)
mysql> change master to master_host="10.186.21.102", master_port=13307, master_user="repl",master_password="repl" for channel="master2";
Query OK, 0 rows affected (0.01 sec)
mysql> select * from mysql.slave_master_info;
+-----------------+-----------------+----------------+---------------+-----------+---------------+-------+---------------+-------------+--------+------------+----------+------------+---------+------------------------+-----------+------+--------------------+------+-------------+---------+-------------+-----------------------+--------------+
| Number_of_lines | Master_log_name | Master_log_pos | Host | User_name | User_password | Port | Connect_retry | Enabled_ssl | Ssl_ca | Ssl_capath | Ssl_cert | Ssl_cipher | Ssl_key | Ssl_verify_server_cert | Heartbeat | Bind | Ignored_server_ids | Uuid | Retry_count | Ssl_crl | Ssl_crlpath | Enabled_auto_position | Channel_name |
+-----------------+-----------------+----------------+---------------+-----------+---------------+-------+---------------+-------------+--------+------------+----------+------------+---------+------------------------+-----------+------+--------------------+------+-------------+---------+-------------+-----------------------+--------------+
| 24 | | 4 | 10.186.21.102 | repl | repl | 13306 | 60 | 0 | | | | | | 0 | 1800 | | 0 | | 86400 | | | 0 | master1 |
| 24 | | 4 | 10.186.21.102 | repl | repl | 13307 | 60 | 0 | | | | | | 0 | 1800 | | 0 | | 86400 | | | 0 | master2 |
+-----------------+-----------------+----------------+---------------+-----------+---------------+-------+---------------+-------------+--------+------------+----------+------------+---------+------------------------+-----------+------+--------------------+------+-------------+---------+-------------+-----------------------+--------------+
2 rows in set (0.00 sec)
mysql> select * from slave_relay_log_info ;
+-----------------+------------------------------------+---------------+-----------------+----------------+-----------+-------------------+----+--------------+
| Number_of_lines | Relay_log_name | Relay_log_pos | Master_log_name | Master_log_pos | Sql_delay | Number_of_workers | Id | Channel_name |
+-----------------+------------------------------------+---------------+-----------------+----------------+-----------+-------------------+----+--------------+
| 7 | ./mha-db1-relay-bin-master1.000001 | 4 | | 0 | 0 | 0 | 1 | master1 |
| 7 | ./mha-db1-relay-bin-master2.000001 | 4 | | 0 | 0 | 0 | 1 | master2 |
+-----------------+------------------------------------+---------------+-----------------+----------------+-----------+-------------------+----+--------------+
mysql> start slave for channel="master2";
Query OK, 0 rows affected (0.01 sec)
mysql> start slave for channel="master1";
Query OK, 0 rows affected (0.01 sec)
mysql> show slave status for channel="master1"\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.186.21.102
Master_User: repl
Master_Port: 13306
Connect_Retry: 60
Master_Log_File: log_bin.000001
Read_Master_Log_Pos: 120
Relay_Log_File: mha-db1-relay-bin-master1.000002
Relay_Log_Pos: 281
Relay_Master_Log_File: log_bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 120
Relay_Log_Space: 464
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 13306
Master_UUID: 546b04cc-9621-11e3-95d5-0a98756bb836
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)
mysql> show slave status for channel="master2"\G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.186.21.102
Master_User: repl
Master_Port: 13307
Connect_Retry: 60
Master_Log_File: log_bin.000001
Read_Master_Log_Pos: 120
Relay_Log_File: mha-db1-relay-bin-master2.000002
Relay_Log_Pos: 281
Relay_Master_Log_File: log_bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 120
Relay_Log_Space: 464
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: 0
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 0
Last_SQL_Error:
Replicate_Ignore_Server_Ids:
Master_Server_Id: 13307
Master_UUID: fba8d917-9621-11e3-95d9-0a98756bb836
Master_Info_File: mysql.slave_master_info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp:
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
1 row in set (0.00 sec)
master1:
mysql> create database master1;
master2:
mysql> create database master2;
slave:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| master1 |
| master2 |
| mysql |
| performance_schema |
| test |
+--------------------+
6 rows in set (0.00 sec)
重启slave命令:
mysql> stop slave for channel="master1";
Query OK, 0 rows affected (0.00 sec)
mysql> stop slave for channel="master2";
Query OK, 0 rows affected (0.01 sec)
重做slave命令:
mysql> reset slave for channel="master2";
Query OK, 0 rows affected (0.33 sec)
mysql> reset slave for channel="master1";
Query OK, 0 rows affected (0.30 sec)
多源复制存在问题:
多源数据库不能有同名库,否则会导致复制失败
master1:
mysql> create database master1;
Query OK, 1 row affected (0.00 sec)
master2:
mysql> create database master2;
Query OK, 1 row affected (0.00 sec)
mysql> create database master1;
Query OK, 1 row affected (0.00 sec)
slave:
show slave status for channel="master2"\G;
Last_SQL_Error: Error 'Can't create database 'master2'; database exists' on query. Default database: 'master2'. Query: 'create database master2'
初试mysql5.7.2新特性:多源复制(MySQL 5.7 multi-source replication)的更多相关文章
- MySQL5.6 GTID新特性实践
MySQL5.6 GTID新特性实践 GTID简介 搭建 实验一:如果slave所需要事务对应的GTID在master上已经被purge了 实验二:忽略purged的部分,强行同步 本文将简单介绍基于 ...
- MySQL5.7的新特性
MySQL 5.7版本据说已经在了很大的性能提升以及做得更加安全了,想了解更多MySQL 5.7的新特性可以参考我转载叶金荣老师的MySQL 5.7的新特性说明.这里我简单演示一下MySQL 5.7的 ...
- 利用Mysql5.7的新特性实现多机房高可用架构【转】
再牛逼的架构也敌不过挖掘机,无论单机房内你的架构多么的高可用,多么的完善,当挖掘机挖下去那一瞬间,都是扯蛋,楼主所在的公司也被挖掘机挖断过光纤.电力线. 为什么大家都在谈论服务冗余,缓存击穿等高可用时 ...
- MySQL5.6新特性Index conditontion pushdow
index condition pushdown是MySQL5.6的新特性,主要是对MySQL索引使用的优化. Index condition push简称ICP,索引条件下推,将索引条件从serve ...
- 重新想象 Windows 8.1 Store Apps (84) - 图像处理的新特性, Share Contract 的新特性
[源码下载] 重新想象 Windows 8.1 Store Apps (84) - 图像处理的新特性, Share Contract 的新特性 作者:webabcd 介绍重新想象 Windows 8. ...
- MySql5.7-多源复制(多主单从)
1.1.主库配置 my.cnf #确保唯一 server-id=1 #作为Master要开启binlog log-bin=mysql-bin #binlog format有三种形式:Stateme ...
- MySQL新特性MTS
一.MTS:多线程复制 MTS简介 在MySQL 5.6版本之前,Slave服务器上有两个线程I/O线程和SQL Thread线程.I/O线程负责接收二进制日志(Binary Log,更准确的说是二进 ...
- MySQL多源复制(八)
一.什么是多源复制 MySQL 5.7发布后,在复制方面有了很大的改进和提升.比如开始支持多源复制(multi-source)以及真正的支持多线程复制了.多源复制可以使用基于二进制日志的复制或者基于事 ...
- MySQL 5.7--多源复制(非GTID模式)
==================================================== 在MYSQL5.7版本中引入多源复制,一个从库允许复制多个主库的数据,每个主库被配置为一个单独 ...
随机推荐
- sourceinsight - imsoft.cnblogs
显示空格的问题,options->document options->visible space 前面的对勾去掉就好了 sourceinsight中文显示乱码问题彻底解决办法:http:/ ...
- Sublime配置VI插件后 快捷键总结
Vi编辑器快捷键 命令行模式: yy 复制当前行 yy5 复制向下5行 p 粘贴(注意粘贴到最后时候留一个换行符) p5 粘贴5次 dd 删除一行,剪切一行 G 最后一行 1G 第一行 ...
- ubuntu git生成ssh key (公钥私钥)配置github或者码云
Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 设置Git的user name和email: git confi ...
- zookeeper 入门指导
zookeeper数据模型 zookeeper有一个层级命名空间,和一个分布式文件系统非常相似 .唯一的不同是每个节点可以有关联的数据,子节点也是.就像有一个文件系统,并且允许文件可以是一个目录. ...
- jsfl读取xml,图片,并生成swf
var newdoc = fl.createDocument(); var doc = fl.getDocumentDOM(); var URI = fl.browseForFolderURL(&qu ...
- 洛谷 4389 付公主的背包——多项式求ln、exp
题目:https://www.luogu.org/problemnew/show/P4389 关于泰勒展开: https://blog.csdn.net/SoHardToNamed/article/d ...
- bzoj 3277 串 && bzoj 3473 字符串 && bzoj 2780 [Spoj]8093 Sevenk Love Oimaster——广义后缀自动机
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3277 https://www.lydsy.com/JudgeOnline/problem.p ...
- Open Flash Chart 之线图
天公司要求开发一个曲线图,简单看了一下之前公司的一个系统,发现一个曲线图效果还不错,查了一下叫OpenFlashChart,还是很不错的,很多人用.研究了一下,发现还不错,特地写了个DEMO测试下. ...
- Openwrt 3g模块
支持Huawei E367 一.编译选项的选择 都选上 都选上 Network目录下 Utiles Luci 二.USB连接3G模块时,显示如下,表示成功 三.没找到:
- 用exec调用带有output输出参数的存储过程
用exec调用带有output输出参数的存储过程,想要得到输出参数的值,必须在调用参数后面加output关键字,如: declare @value int exec up_test 2,3,@v ...