mysql5.7主从复制---基于日志的复制

              mysql作为一个开源免费的数据库经常在工作中或学习中会使用到,于此记录其主从复制的步骤。

              参考资料:慕课网,mysql5.7复制实战课程

              另外MySQL 5.6 后加入了全局事务 ID (GTID) 来强化数据库的主备一致性,故障恢复,以及容错能力。参考文章MySQL 5.6 全局事务 ID(GTID)实现原理(这是一个系列说明,可以看一看)

          配置相关(my.cnf):

 主服务器配置(master)

 #[必须]启用二进制日志 
 log-bin=mysql-bin  
 #[必须]服务器唯一ID,默认是1,一般取IP最后一段  
 server_id=128
 binlog_format=mixed   (日志格式 ,参考文章:MySQL Binlog三种格式介绍及分析)
 innodb_flush_log_at_trx_commit=1
 sync_binlog=1
 log-slave-updates
 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

从服务器配置(salve)

 server_id=130
 binlog_format=mixed
 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
 user=mysql
 master-info-file = master.info
 relay-log = relay-relay-bin
 relay-log-index = relay-relay-bin.index
 relay-log-info-file=relay-relay-log.info

(配置文件这一块比较复杂,在下也没有深入研究,以上只是参考,具体可以自行百度)

         一、基于日志的服务

         1: 创建用户  create user 'master'@'192.168.128.%' identified by '123456';  //mysql 5.6以后建议使用这个操作
         2:授权  grant replication slave on *.* to master@'192.168.128.%';
         3: 备份主库
            mysqldump --single-transaction --master-data=2 --triggers --routines --all-databases -uroot -p >t_sync.sql 
   
             --master-data=2 该参数是位置在导出sql文件的时候记录日志文件和日志点

       
        这2个参数主要是告诉从服务器要从那个日志文件,以及日志文件的那个位置开始同步。

        也可以使用show master status; 命令在主服务器上查看

  


        4: 用scp命令将备份的数据拷贝到从服务上   

        5:在从服务器上恢复主库的数据  mysql -uroot -p <t_sync.sql 

        6: 在从服务器上运行change master命令
   change master to master_host='192.168.128.128', master_user='master',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=4044; 

        注意:最后一个是数字,不能用单引号。

        7:使用start slave 启动从服务器上的同步进程  使用show slave status\G 查看主从图片状态


slave_io_running:表示同步日志的io进程

slave_sql_running:表示执行同步sql命令的进程

这个2个必须为yes,否则表示配置失败(如果配置失败请检查3306端口是否有对外开放)

最后就可以在主服务器上开始创建表库,插入数据做测试了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值