A8站源码交易平台从mysql的sharding看多源仿制

摘要:STOP SLAVE; #假如主从仿制正在进行,需求先停掉 SET GLOBAL master_info_repository = 'TABLE'; SET GLOBAL relay_log_info_repository = 'TABLE'; 设置完Master源后,发动slave进行仿制 START/STOP SLAVE; //发动或中止一切线程一切管道的仿制 START/STOP SLAVE SQL_THREAD; //发动或中止一切管道的SQL_THREAD线程 START/STOP SLAVE IO_THREAD; //发动或中止一切管道的IO_THREAD线程

A8站源码交易平台

多源仿制(Multi-Source Replication)开始由阿里云数据库RDS团队提出并完成的,主要在 MySQL 根据 Binary Log 单向一对多仿制的基础上,完成了节点之间的多对多的仿制,使数据能够在多个节点上自在聚合和拆分。在 MySQL 5.7.6 版别被官方录入并正式发布。

发问:假如现有业务数据库(trade)现已根据买家(buyerId)作为拆分键施行了db sharding,意味这你一切的查询有必要根据buyerId,那关于有根据卖家(sellerId)的查询需求怎么办?
是的,这的确是个难题!


一般来说能想到的办法:

保存原始映射,要先找到buyerId,在查询sellerId类需求时增加where条件buyerId
根据sellerId持续拆分,也便是说拆分键有两个:buyerId、sellerId
这些的确比较将就的计划,莫非就没有其他方法了吗?

有的,我在之前现已共享数据库主从仿制,它更多出现的是对称仿制(主从的数据与结构共同,见下图1),其实mysql最新的版别也支撑非对称仿制(而多源仿制便是其间一种体现形状,见下图2)。A8站源码交易平台
1.png

2.png




运用手册        A8站源码交易平台
1. 装备多源仿制
多源仿制拓扑至少需求装备两个主设备和一个从设备。
Master
多源仿制拓扑中的主服务器能够装备为运用根据两种方法:
1. 根据大局业务标识符(GTID)的仿制

可参看 Section 16.1.3.4, “Setting Up Replication Using GTIDs”,启用装备 gtid_mode=ON,启用一个用于仿制用户,并保证slave运用根据TABLE的仿制存储库。

运用端口3451将主机名为master1的新主机增加到名为master-1的管道中

CHANGE MASTER TO MASTER_HOST='master1', MASTER_USER='rpl', MASTER_PORT=3451, MASTER_PASSWORD='',
MASTER_AUTO_POSITION = 1 FOR CHANNEL 'master-1';

2. 根据二进制日志方位的仿制

“Setting the Replication Master Configuration” 中有运用根据文件方位的仿制的装备,启用装备--log-bin,启用一个用于仿制用户,记载在当时二进制日志方位,并保证slave运用根据TABLE的仿制存储库。

运用端口3451将主机名为master1的新主机增加到名为master-1的管道:

CHANGE MASTER TO MASTER_HOST='master1', MASTER_USER='rpl', MASTER_PORT=3451, MASTER_PASSWORD=''
MASTER_LOG_FILE='master1-bin.000006', MASTER_LOG_POS=628 FOR CHANNEL 'master-1';
slave
多源仿制拓扑中的从服务器需求根据TABLE的存储库。多源仿制与根据FILE的存储库不兼容。mysqld运用的存储库类型能够在发动时装备,也能够动态装备。请运用以下选项发动mysqld:--master-info-repository=TABLE --relay-log-info-repository=TABLE           A8站源码交易平台

#也能够动态调整指令为:
STOP SLAVE; #假如主从仿制正在进行,需求先停掉
SET GLOBAL master_info_repository = 'TABLE';
SET GLOBAL relay_log_info_repository = 'TABLE';
设置完Master源后,发动slave进行仿制

START/STOP SLAVE;                           //发动或中止一切线程一切管道的仿制
START/STOP SLAVE SQL_THREAD;  //发动或中止一切管道的SQL_THREAD线程
START/STOP SLAVE IO_THREAD;     //发动或中止一切管道的IO_THREAD线程

RESET SLAVE;                                                            //重置一切管道
RESET SLAVE FOR CHANNEL CHANNELNAME;    //重置单一管道

SHOW SLAVE STATUS                       //查看仿制状况

比方:

START SLAVE FOR CHANNEL 'master_3306';
START SLAVE SQL_THREAD FOR CHANNEL 'master_3306';
START SLAVE IO_THREAD FOR CHANNEL 'master_3306';

更多参看官方文档

多源仿制监督
它供给了运用仿制功能形式表来监督管道(channel)。您能够挑选监督一切管道或现有管道的一个子集。

要监督一切管道的衔接状况:SELECT * FROM replication_connection_status

*************************** 1. row ***************************
CHANNEL_NAME: master1
GROUP_NAME:
SOURCE_UUID: 046e41f8-a223-11e4-a975-0811960cc264
THREAD_ID: 24
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00
RECEIVED_TRANSACTION_SET: 046e41f8-a223-11e4-a975-0811960cc264:4-37
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
*************************** 2. row ***************************
CHANNEL_NAME: master2
GROUP_NAME:
SOURCE_UUID: 7475e474-a223-11e4-a978-0811960cc264
THREAD_ID: 26
SERVICE_STATE: ON
COUNT_RECEIVED_HEARTBEATS: 0
LAST_HEARTBEAT_TIMESTAMP: 0000-00-00 00:00:00
RECEIVED_TRANSACTION_SET: 7475e474-a223-11e4-a978-0811960cc264:4-6
LAST_ERROR_NUMBER: 0
LAST_ERROR_MESSAGE:
LAST_ERROR_TIMESTAMP: 0000-00-00 00:00:00
2 rows in set (0.00 sec)
 ———————————————— 
A8站源码交易平台


  • 全部评论(0)
最新发布的资讯信息
【A8站-免费源码分享|直播源码】直播系统源码开发:关于安卓开发工具和obs直播推流(2020-10-30 09:41)
【计算机/互联网|】【独家修复】用户定制版短视频点赞系统,支持抖音+快手+刷宝+微视等所有主流短视频评论系统源码(2020-10-26 16:34)
【技术宅-为技术而疯|网站架设教程】【独家首发】最新更新已对接短信2020全新抖音快手点赞任务系统霸屏天下小红书头条威客兼职完整搭建架设视频教程(2020-10-25 13:56)
【技术宅-为技术而疯|网站架设教程】最新可用个人发卡网系统源码完整搭建架设视频教程(2020-10-25 10:53)
【技术宅-为技术而疯|网站架设教程】独家更新全新V10抢单系统唯品会京东淘宝自动抢单区块系统源码全开源抢单收单接单返利+搭建架设完整视频教程(2020-10-25 10:52)
【计算机/互联网|】柔丫纸尿裤云仓系统源码部署(2020-10-15 18:13)
【计算机/互联网|】侏罗纪软件模式定制开发(2020-10-14 15:33)
【计算机/互联网|】S2b2C供应商系统 营销闭环(2020-10-10 17:46)
【计算机/互联网|程序设计开发】盛都汇系统奖励机制(2020-10-10 17:20)
【A8站-免费源码分享|网站源码】积分商城系统APP开发(2020-09-23 14:56)
联系我们
Q Q:3101359898 点击直接对话
电话:18580901894
邮箱:admin#a8zhan.com
时间:09:00 - 24:00
手机二维码 访问手机版
返回顶部