6:多源复制的实现

  
      <李> MySQL多源复制允许复制奴隶同时从多个源接收事务。可以使用多源复制将多个服务器备份到一个服务器,合并表碎片,并将来自多个服务器的数据合并到一个服务器。多源复制在应用事务时不实现任何冲突检测或解决,如果需要,这些任务留给应用程序完成。   <李>下面我们就来配置一个多源复制,多源复制这种拓扑至少需要两个主人和奴隶。   <李>服务器环境:192.168.1.2 (master1) 192.168.1.3(新主人)192.168.1.4(奴隶)   <李>可以将多源复制拓扑中的大师配置为使用基于全局事务标识符(GTID)的复制或基于二进制日志位置的复制,有关如何使用基于GTID的复制配置的主人,请看https://blog.51cto.com/itzhoujun/2351367。有关如何使用基于文件位置的复制配置的主人,请参见https://blog.51cto.com/itzhoujun/2352688和https://blog.51cto.com/itzhoujun/2352693   <李>本次我们基于GTID来做多源复制   
        <李>登录奴隶   
          <李>多源复制拓扑中奴隶的需要基于表的存储库。多源复制与基于文件的存储库不兼容.mysqld使用的存储库类型可以在启动时配置,也可以动态配置。分别有以下两种形式   
            <李>要在启动时配置复制奴隶使用的存储库类型,请使用以下选项启动mysqld:   
              <李>——master-info-repository=表——relay-log-info-repository=表   李
            <李>要修改使用文件存储库以使用表存储库的现有复制奴隶,请通过运行以下命令动态转换现有复制存储库:   
              <李>停止奴隶;   <李>集全球master_info_repository=怼?李   <李>集全球relay_log_info_repository=怼?李   李
            李
          <李>我们使用使用动态修改   
            <李> mysql>李停止奴隶;   <李>查询好,0行影响(0.00秒)   <李> mysql>集全球master_info_repository=怼?李   <李>查询好,0行影响(0.00秒)   <李> mysql>集全球relay_log_info_repository=怼?李   <李>查询好,0行影响(0.00秒)   <李> mysql>显示变量如“master_info_repository”;李   <李> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +   <李> | Variable_name | |值   <李> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +   <李> | master_info_repository表| |   <李> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +   <李> 1行组(0.01秒)   <李> mysql>显示变量如“relay_log_info_repository”;李   <李> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - +   <李> | Variable_name | |值   <李> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - +   <李> | relay_log_info_repository表| |   <李> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - +   <李> 1行组(0.00秒)   <李> #说明设置成功了李   李
          李
        <李>登录新主人(如果有多个新主人就重复此步骤)   
          <李>要启用基于GTID的复制,必须在启用GTID模式的情况下启动每个服务器,所以我们先修改配置文件,修改后配置文件再重启mysql   
            <李>  6:多源复制的实现   <李>参数的具体含义,我已经在https://blog.51cto.com/itzhoujun/2351367和https://blog.51cto.com/itzhoujun/2352693详细介绍过了李   <李> mysql>显示变量如% gtid %的;   <李> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   <李> | Variable_name | |值   <李> + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +   <李> | binlog_gtid_simple_recovery | alt=" 6:多源复制的实现“>   <李> # Slave_IO_Running和Slave_SQL_Running都是是的,那说明没问题   <李> mysql>显示奴隶状态通道的newmaster-1 \ G李   <李>  6:多源复制的实现   <李> # Slave_IO_Running和Slave_SQL_Running都是是的,那说明没问题      <李>接下来就是分别在主人和新的主针对数据库操作一些测试数据,然后看下奴隶是否同步过来了,如果同步过来了,那就没啥问题

          6:多源复制的实现