mysql 数据复制 丢失_一文了解,MySQL数据库主从复制原理

1.为什么需要搭建MySQL主从数据库集群?

可以防止主数据库服务器故障后,避免数据丢失,以及实现HA。

可以降低磁盘I/O访问的负载,提高机器的I/O性能。

主从集群读写分离,使数据库能支持更大的并发。

......

2.MySQL数据库主从复制原理

f2f7af90556787209e7cae8110afe9de.png

1. 首先主库对所有客户端DDL和DML操作产生的日志写进binlog。

2. 主库生成一个 log dump 线程,用来给从库I/O线程读取binlog。

3. 从库的I/O Thread去请求主库的binlog,并将得到的binlog日志写到relay log文件中;

4. 从库的SQL Thread会读取relay log文件中的日志解析成具体操作,将主库的DDL和DML操作事件重放。

5.在这一系列的操作结束后,主从复制就完成了,这样从库跟主库的数据达成了一致性。

3.主从复制存在的问题

1.当主节点宕机后,主备切换有延时,可能会造成数据丢失更新。

2.主节点是顺序写binlog文件,而从库需要重放主节点的DDL、DML操作,这是随机的,这可能会造成数据复制延迟等问题。

4.通过SHOW SLAVE STATUS G ,查看从库状态

795d03d16bde9f0355892509e6239ccc.png

5.针对主从复制存在的问题-解决方案

1.保证数据的安全性配置sync_binlog,innodb_flush_log_at_trx_commit参数,把事务写到磁盘中。

2.MySQL5.5版本后支持半同步复制,直到从库把日志写到relay log后,才返回状态给客户端。

3.优化网络环境、合理配置MySQL集群、使用并行复制来降低从库的复制延迟问题。

关于MySQL主从复制的问题,欢迎评论区留言探讨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值