mysql主从的一些问题

你们公司mysql用的什么备份,如果是主从,那如果主服务器突然挂了怎么办?

解决方法一:

甩锅给开发---当时的主从开发写了一个超时的,如果超时就自动转给从服务器

方法二:

做一个互为主从:主挂了另一台可以继续运行

方法三:

使用keepliaved,创建一个公ip让开发链接,当一个挂了,可以第一时间进行切换

公司主从复制,从在写入是特别慢,有什么好的解决方案吗?

1.先找出为什么延迟会高

更多的是因为,主库执行完后写入二进制日志,然后通知I/O进程,I/O进程是可以进行多进程读取的,但是进行写入的sql进程只能有一个,所以就导致了,sql进程跟不上的缘故

2.寻找解决方案

MySql数据库从库同步其他问题及解决方案

1)、mysql主从复制存在的问题:  ● 主库宕机后,数据可能丢失  ● 从库只有一个sql Thread,主库写压力大,复制很可能延时2)、解决方法:  ● 半同步复制---解决数据丢失的问题  ● 并行复制----解决从库复制延迟的问题

3)、半同步复制mysql semi-sync(半同步复制)半同步复制:  ● 5.5集成到mysql,以插件的形式存在,需要单独安装  ● 确保事务提交后binlog至少传输到一个从库  ● 不保证从库应用完这个事务的binlog  ● 性能有一定的降低,响应时间会更长  ● 网络异常或从库宕机,卡主主库,直到超时或从库恢复4)、主从复制--异步复制原理、半同步复制和并行复制原理比较

a、异步复制原理:

b、半同步复制原理:

事务在主库写完binlog后需要从库返回一个已接受,才放回给客户端;5.5集成到mysql,以插件的形式存在,需要单独安装确保事务提交后binlog至少传输到一个从库不保证从库应用完成这个事务的binlog性能有一定的降低网络异常或从库宕机,卡主库,直到超时或从库恢复

c、并行复制mysql并行复制  ● 社区版5.6中新增  ● 并行是指从库多线程apply binlog  ● 库级别并行应用binlog,同一个库数据更改还是串行的(5.7版并行复制基于事务组)设置set global slave_parallel_workers=10;设置sql线程数为10

原理:从库多线程apply binlog在社区5.6中新增库级别并行应用binlog,同一个库数据更改还是串行的5.7版本并行复制基于事务组

解决方法二:

也可以一主多从,每个从服务器只备份一张表,就可以实现意义上的负载均衡

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

摚张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值