MySQL数据库的主从备份和读写分离

主数据库服务器故障后,可切换到从数据库继续工作,避免数据丢失

主从备份原理
数据库有一个bin-log二进制文件,纪录了所有执行的sql语句,尤其是一些DML语句。
目标就是把主数据库(Master)的bin-log文件sql语句复制到从数据库(Slave)上
把bin-log中的数据读取到reply-log文件中,在从数据库(Slave)的reply-log重做日志文件中,重新执行一次这些sql语句。
主从备份过程:共涉及到了三个线程

 1. master的binlog输出线程将执行的sql写入binlog中

 2. slave的I/O线程,连接到master,对master的binlog进行复制

3. slave的I/O线程读取复制的binlog,然后将里面的内容保存至reply-log里

4. slave的SQL线程读取reply-log,然后执行里面的命令,完成同步

出现的问题:数据延时

master的并发较高时,产生的DML数量超过slave的SQL Thread所能处理的速度
slave 中有大型query语句产生了锁等待
网络抖动,机器性能太差…
读写分离
1.我们所希望的主从架构是,当写数据时,请求全部发到Master节点上,当需要读数据时,请求全部发送到Slave节点上

2.并且多个Slave节点最好可以存在负载均衡,让集群的效率最大化,不要让每次读都从同一台分机器中读,从而避免单点压力过大的问题。
————————————————
原文链接:https://blog.csdn.net/weixin_37841366/article/details/109225509

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值