位置: 编程技术 - 正文

Mysql主从同步的实现原理

编辑:rootadmin

推荐整理分享Mysql主从同步的实现原理,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

1、什么是mysql主从同步?

当master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库。

2、主从同步有什么好处?

水平扩展数据库的负载能力。 容错,高可用。Failover(失败切换)/High Availability 数据备份。

3、主从同步的原理是什么?

首先我们来了解master-slave的体系结构。

如下图:

不管是delete、update、insert,还是创建函数、存储过程,所有的操作都在master上。当master有操作的时候,slave会快速的接收到这些操作,从而做同步。

但是,这个机制是怎么实现的呢?

在master机器上,主从同步事件会被写到特殊的log文件中(binary-log);在slave机器上,slave读取主从同步事件,并根据读取的事件变化,在slave库上做相应的更改。

如此,就实现了主从同步了!

下面我们来详细的了解。

3.1主从同步事件有哪些

上面说到:

Mysql主从同步的实现原理

在master机器上,主从同步事件会被写到特殊的log文件中(binary-log);

主从同步事件有3种形式:statement、row、mixed。

statement:会将对数据库操作的sql语句写入到binlog中。 row:会将每一条数据的变化写入到binlog中。 mixed:statement与row的混合。Mysql决定什么时候写statement格式的,什么时候写row格式的binlog。

3.2在master机器上的操作

当master上的数据发生改变的时候,该事件(insert、update、delete)变化会按照顺序写入到binlog中。

binlog dump线程

当slave连接到master的时候,master机器会为slave开启binlog dump线程。当master 的 binlog发生变化的时候,binlog dump线程会通知slave,并将相应的binlog内容发送给slave。

3.3在slave机器上的操作

当主从同步开启的时候,slave上会创建2个线程。

I/O线程。该线程连接到master机器,master机器上的binlog dump线程会将binlog的内容发送给该I/O线程。该I/O线程接收到binlog内容后,再将内容写入到本地的relay log。 SQL线程。该线程读取I/O线程写入的relay log。并且根据relay log的内容对slave数据库做相应的操作。

3.4如何在master、slave上查看上述的线程?

使用SHOW PROCESSLIST命令可以查看。

如图,在master机器上查看binlog dump线程。

如图,在slave机器上查看I/O、SQL线程。

4、讲了这么多,一图以蔽之

5、关于实战

关于实战,请参考我的另一篇文章:Mysql主从同步实战

标签: Mysql主从同步的实现原理

本文链接地址:https://www.jiuchutong.com/biancheng/349920.html 转载请保留说明!

上一篇:详解Mysql主从同步配置实战

下一篇:Mac下MySQL初始化密码操作(mysql mac启动)

  • 应付税费重分类如何做会计分录?
  • 增值税发票能不能报销
  • 什么是进项税和进项税
  • 贴现法付息的有效年利率
  • 广告设计公司挣钱吗
  • 总公司是一般纳税人吗
  • 物业公司可以开租赁发票吗
  • 开广告公司需要营业执照吗
  • 受托加工怎么做账
  • 企业辅助生产车间
  • 公司缴纳个人所得税会计分录
  • 应收账款客户少了几毛没有付怎么处理
  • 开办公用品发票需要清单吗
  • 开给个人的通讯费发票能下账吗
  • 30万的装修工程利润一般是多少
  • 利息收入要不要交增值税?
  • 水利基金按含税还是不含税申报
  • 安装工程发票怎么开
  • 税收编码3040203
  • 退股支付的现金流量表怎么填
  • 原始凭据
  • 利润转增资本交什么税
  • 运输费未取得运输专用发票怎么抵扣?
  • 家政公司可以开专票吗
  • 职工聚餐费可以列入职工福利费吗
  • linux查看系统信息工具
  • 无线路由器指示灯怎么才是正常
  • 三代税款手续费支付比例
  • 胆固醇为什么会高
  • 公司买的手机怎么入账科目
  • PHP:Memcached::setMulti()的用法_Memcached类
  • PHP:pg_prepare()的用法_PostgreSQL函数
  • 苹果推送最新系统怎么关
  • Thinkphp+smarty+uploadify实现无刷新上传
  • 各级税务机关应当遵循依法
  • 净亏损会影响所有者权益吗
  • css选择器 菜鸟教程
  • 其他营业账簿印花税减免政策
  • php获取文本内容
  • vue-mapvgl
  • 2021前端面试大全
  • 新公司有免税政策吗
  • 销售方开具的红字信息表
  • 哪些费用可以在以后年度扣除
  • 图片加载不存在
  • php自动压缩图片
  • 航空公司开具的代订机票费可以抵扣吗
  • 不开增值税发票的销售收入报税操作流程是?
  • 医疗服务增值税税率
  • 印花税会计处理办法
  • 集团内部借款利率如何确定
  • 资产处置收益的核算内容
  • 专利权的入账价值包括资本化支出吗
  • 两个公司开发票
  • 营改增租金收入税率
  • 工会经费如何支出
  • 其他应付款如何隐藏收入
  • 应交增值税进项税额转出账务处理
  • 通信费属于哪个会计科目
  • 商业企业购进商品的分录
  • mysql类型varchar长度
  • 快启动u盘pe怎么安装系统详细图文教程
  • 如何禁用windows defender service
  • centos查看硬盘信息的命令
  • win7系统打不开浏览器
  • dll文件应该放在哪里
  • windows 7安装步骤
  • Unity3D游戏开发引擎
  • 元素显示模式
  • python调用cuda执行加法
  • jquery 图片放大预览
  • pull order
  • shell脚本编程实例
  • jquery ui教程
  • java教程 视
  • 个体户税务注销
  • 昆山华润燃气多少钱一方
  • 怎么注册用户名短的淘宝账号
  • 查册证明怎么自动生成
  • 佛山市国家税务局科长陈科长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设