16.1.4 Mysql 多源复制
dev.mysql.com/doc/refman/5.7/en/replication-multi-source.html
MySQL多源复制使复制从站能够同时从多个源接收事务。 多源复制可用于将多个服务器备份到单个服务器,合并
参考官方文档: dev.mysql.com/doc/refman/5.7/en/replication-multi-source.html MySQL多源复制使复制从站能够同时从多个源接收事务。 多源复制可用于将多个服务器备份到单个服务器,合并表分片,以及将来自多个服务器的数据合并到单个服务器。 应用事务时,多源复制不会实现任何冲突检测或解决mssql复制,如果需要,这些任务将留给应用程序。 在多源复制拓扑中,从属服务器为每个应从其接收事务的主服务器创建复制通道。 请参见第16.2.3节“复制通道”。 以下部分介绍如何设置多源复制 配置多源复制 本节介绍如何配置多源复制拓扑,并提供有关配置主站和从站的详细信息。 这种拓扑需要至少两个主设备和一个从设备配置。 多源复制拓扑中的从站需要基于TABLE的存储库。 多源复制与基于FILE的存储库不兼容。 mysqld使用的存储库类型可以在启动时动态配置,也可以动态配置。 要在启动时配置复制从站使用的存储库类型,请使用以下选项启动mysqld: --master-info-repository=TABLE --relay-log-info-repository=TABLE 要修改现有使用FILE存储库的复制slave以使用TABLE存储库,请通过运行以下命令动态转换现有复制存储库: STOP SLAVE; SET GLOBAL master_info_repository = 'TABLE'; SET GLOBAL relay_log_info_repository = 'TABLE'; 16.1.4.2.2将基于GTID的主服务器添加到多源复制slave 本节假定您已使用gtid_mode = ON在主服务器上启用了基于GTID的事务,启用了复制用户,并确保从服务器正在使用基于TABLE的复制存储库。 使用CHANGE MASTER TO语句通过使用FOR CHANNEL通道子句将新主服务器添加到通道。 有关复制通道的更多信息,请参见第16.2.3节“复制通道” 例如,要使用端口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'; 对要添加到通道的每个额外master重复此过程,根据需要更改主机名,端口和通道。 16.1.4.2.3 将基于二进制日志的主服务器添加到多源复制从服务器 本节假定您已使用--log-bin启用了主服务器上的二进制日志记录,启用了复制用户,记录了当前的二进制日志位置,并确保从服务器正在使用基于TABLE的复制存储库。 您需要知道当前的MASTER_LOG_FILE和MASTER_LOG_POSITION。 使用CHANGE MASTER TO语句通过指定FOR CHANNEL通道子句将新主控添加到通道。 例如,要使用端口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'; 对要添加到通道的每个额外主站重复此过程,根据需要更改主机名,端口和通道。 16.1.4.2.4启动多源复制slave 添加了要用作复制主的所有通道后,请使用START SLAVE thread_types语句启动复制。 在从站上启用多个通道后,您可以选择启动所有通道,也可以选择要启动的特定通道。 START SLAVE thread_types; START SLAVE thread_types FOR CHANNEL channel; 使用thread_types选项选择希望上述语句在从站上启动的特定线程。 16.1.4.2.5 停止多源复制slave STOP SLAVE语句可用于停止多源复制从站。 默认情况下,如果在多源复制从站上使用STOP SLAVE语句,则所有通道都将停止。 可选的 ,使用FOR CHANNEL通道子句仅停止特定通道。 STOP SLAVE thread_types; STOP SLAVE thread_types FOR CHANNEL channel; 使用thread_types选项选择希望上述语句在从站上停止的特定线程。 16.1.4.2.6 重置 多源复制slave RESET SLAVE语句可用于重置多源复制从站。 默认情况下,如果在多源复制从站上使用RESET SLAVE语句,则会重置所有通道。 可选的,使用FOR CHANNEL通道子句仅重置特定通道。 RESET SLAVE; RESET SLAVE FOR CHANNEL channel; 16.1.4.3 多源复制监控 要监视复制通道的状态,需要以下选项: 注意: SHOW VARIABLES语句不适用于多个复制通道。 这些变量可用的信息已迁移到复制性能表。 在具有多个通道的拓扑中使用SHOW VARIABLES语句仅显示默认通道的状态。 16.1.4.3.1 使用性能方案表监控通道 监控所有通道的连接状态: mysql> SELECT * FROM replication_connection_status\G; 通过添加CHANNEL_NAME字段,您可以查询特定通道的性能架构表。 要监视命名通道的连接状态,请使用WHERE CHANNEL_NAME = channel子句: mysql> SELECT * FROM replication_connection_status WHERE CHANNEL_NAME='master1'\G 同样,WHERE CHANNEL_NAME = channel子句可用于监视特定通道的其他复制性能架构表。 16.1.4.4 多源复制错误信息 错误代码和消息提供有关多源复制拓扑中遇到的错误的信息。 这些错误代码和消息仅在启用多源复制时发出,并提供与生成错误的通道相关的信息。 例如: Slave is already running 和 Slave is already stopped 被替换为 Replication thread(s) for channelchannel_name are already running 和 Replication threads(s) for channelchannel_name are already stopped 服务器日志消息也已更改,以指示日志消息与哪个通道相关。 这使得调试和跟踪更容易。 (编辑:成都站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- “韦尔奇娅”病毒侵入美国国务院 签证系统瘫痪
- sql开窗函数是什么?怎样使用?
- 阿里通信6月上线确定170段号 域名抢手
- sql-server – 如何查找包含进程ID,进程名称,登录时间,用户
- ATi最佳合作伙伴——sapphire蓝宝登陆中关村
- sql-server – 为什么查询导致溢出到tempdb?
- sql-server – 我可以在SQL Server数据库上看到运行的历史查
- 我国网站消费排行揭晓,高档网站业务量攀升
- Windows 无法连接到System Event Notification Service服务
- sql-server – 如何在SQL Server 2008中分配整个Active Dir