MySQL数据库主从同步

背景作用

  • 简述
    一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中。对于多级复制,数据库服务器即可充当主机,也可充当从机。MySQL主从复制的基础是主服务器对数据库修改记录二进制日志,从服务器通过主服务器的二进制日志自动执行更新。
  • 实现原理
    1.Master 数据库只要发生变化,立马记录到Binary log 日志文件中
    2.Slave数据库启动一个I/O thread连接Master数据库,请求Master变化的二进制日志
    3.Slave I/O获取到的二进制日志,保存到自己的Relay log 日志文件中。
    4.Slave 有一个 SQL thread定时检查Realy log是否变化,变化那么就更新数据
    在这里插入图片描述

主从同步复制有以下几种方式:

(1)同步复制,master的变化,必须等待slave-1,slave-2,…,slave-n完成后才能返回。

(2)异步复制,master只需要完成自己的数据库操作即可,至于slaves是否收到二进制日志,是否完成操作,不用关心。MYSQL的默认设置。

(3)半同步复制,master只保证slaves中的一个操作成功,就返回,其他slave不管。这个功能,是由google为MYSQL引入的。

实施环境

Master服务器:150.17.232.10
Slave服务器:150.17.239.40

Master服务器设置

  • 配置文件
[root@centos]# cat my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server_id=1
log-bin=master-bin
log-bin-index=master-bin.index

如需要特别设定只同步某个数据库或不同步某个数据库,需要添加如下配置:

binlog-do-db = test01,test02 #只同步test01,test02数据库
binlog-ignore-db=test01 #同步所有数据库除了test01库
  • 重启服务
systemctl restart mariadb
  • 锁表
mysql>flush tables with
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值