mysql GTID主从复制

tips:
    1、搞清楚主从复制和mysql集群的概念
    2、主从复制从mysql_5.5 增加了新功能。(一下配置mysql 5.7.5)
    3、方便管理主从复制的一些小工具
        mysql-utilities、percona-toolkit

配置主从复制的基本步骤说明:
一、master
    1、启用二进制日志
    2、选择唯一 server-id
    3、创建具有复制权限的用户
       mysql> GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'180.180.%.%' IDENTIFIED BY 'replpass'; 
       这是授权给指定网段的用户,也可以指定特定的用户使用
       
二、slave
    1、启用中继日志
    2、选择唯一 server-id
    3、连接至主服务器,并开始复制数据
        CHANGE MASTER TO MASTER_HOST='180.180.3.10', MASTER_USER='repluser', MASTER_PASSWORD='replpass', MASTER_AUTO_POSITION=1; 
       注:这条语句不适合5.5以前的主从复制
三、其他事项       
    GTID主从复制参考文档:
    http://www.it165.net/database/html/201405/6602.html      
    更清楚的文档(老版本的)
    http://cwtea.blog.51cto.com/4500217/1243060    

    
    出现一下问题的问题参看文档:
    Slave failed to initialize relay log info structure from the repository
        http://blog.itpub.net/7607759/viewspace-719707/    
        mysql>reset slave;

四、主从复制常用的一些命令
    master:
            #授权用户
           CHANGE MASTER TO
           PURGE BINARY LOGS
                 PURGE {MASTER | BINARY} LOGS TO 'log_name'
                 PURGE {MASTER | BINARY} LOGS BEFORE 'date'
                 用于删除在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第一个。
            参考文档:http://laowafang.blog.51cto.com/251518/790929          

           #重置主服务
           SHOW BINARY LOGS
           #主从同步检查
           SHOW MASTER STATUS\G
    slave:
          #重置从服务
           RESET SLAVE
          # 显示连入主机的从机
           SHOW SLAVE HOSTS
          # 用于提供有关从属服务器线程的关键参数的信息
           SHOW SLAVE STATUS
           #开启io/sql 线程
           START SLAVE
           #分别开启io/sql 线程  (查看从服务的状态主要特别注意这个状态)其中Slave_IO_Running 与 Slave_SQL_Running 的值都必须为YES,才表明状态正常。
            START SLAVE IO_Thread
            START SLAVE SQL_Thread
           #关闭从服务
           STOP SLAVE   

ps:从服务器需要关闭写操作,在my.cnf中添加read-only=on 用show global variables like 'read%'在命令行查看
    但是注意一点这个功能对具有super权限的用户不起作用。
        
五、从服务器过滤复制相关的指令
    从服务器:
    replicate_do_db
    rpplicate_ignore_db

    replicate_do_table
    replicate_ignore_table

    支持通配符:  % _
    replicate_wild_do_table=magedudb.tb%
    replicate_wild_ignore_table
 六、半同步复制
    
    1、分别在主从节点上安装相关的插件
    master> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
    slave> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

    2、启用半同步复制
    在master上的配置文件中,添加
    rpl_semi_sync_master_enabled=ON
    在至少一个slave节点的配置文件中添加
    rpl_semi_sync_slave_enabled=ON

    而后重新启动mysql服务即可生效。  
 --------------------------------------------       
mysql 主从复制配置文档说明

[mysqld]
#唯一标识ID
server-id=2
#二进制日志
log-bin=slave-bin
#二进制日志格式
binlog_format=row
#更新是否记入日志
log-slave-updates=true
#启用GTID模式,否则就是普通的复制架构
gtid-mode=on
#强制GTID的一直性
enforce-gtid-consistency=true
#主服务信息记录库=表/文件
master-info-repository=TABLE
#中继日志信息记录库
relay-log-info-repository=TABLE
#同步主库信息
sync-master-info=1
#从服务器的sql线程数,要和复制库书目相同
slave-parallel-workers=4
#32位校验码
binlog-checksum=CRC32
#主服校验
master-verify-checksum=1
#从服校验
slave-sql-verify-checksum=1
#二进制日志详细记录事件
binlog-rows-query-log_events=1
#提供复制报告端口
report-port=3306
#提供复制报告主机
report-host=180.180.3.11


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值