[mysql三]复制/拓展/切换

本文详细介绍了MySQL的复制、扩展和切换技术,包括主从复制配置、延迟解决策略、主-主架构的挑战、分库分表的原理与优化、以及高可用架构中的动态切换和MHA工具应用。探讨了dble与MyCat的对比,强调了数据可靠性与业务可用性之间的权衡,并提出了应对高可用集群挂掉的解决方案。
摘要由CSDN通过智能技术生成

目录


零、三高介绍及手段

1、

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、复制

1、复制类型和原理

传送原理:binlog传送,即Master dump_thread发送binlog,Slave的 io_thread 接收binglog并保存为relay log,Slave的 sql_thread 读取并重放 relay log

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

主库等binlog传送到从库变为relay log后,再commit事务。只关心binlog的传送,不关心relay log的执行。所以叫半同步
在这里插入图片描述
在这里插入图片描述

主库或从库执行sql的时候需要达成“共识”,都允许或大部分允许才能执行。同意执行之后再复制binlog,重放relay log。组复制是强一致性的。
在这里插入图片描述
在这里插入图片描述

2、主从复制配置实战

1.主备都打开binlog,然后重启mysqld进程
在这里插入图片描述
2.因为主从复制只是复制的增量,所以先要复制主库数据(备份+还原)。过程是:

flush tables with read lock 先把主库上全局读锁 x
show master status \g 查看当前写到哪一个binlog及位置,比如12号binlog,194位置,\g是列和值竖过来看 x
mysqldump -uroot -p123456 --all-databases --master-data > dump.sql 把数据都dump下来。 x
scp dump.sql root@192.168.2.2:/root/dump.sql 通过scp将备份文件传到备库 x
unlock tables x
x 备库也开只读
x source /root/dump.sql 还原备份
x reset slave 取消设置为其他从库
x change master to MASTER_HOST=‘192.168.2.1’, MASTER_USER=‘root’, MASTER_LOG_FILE=‘mysql-bin.00012’, MASTER_LOG_POS=194;
x start slave

默认是异步的,如果想配半同步的则添加两个半同步插件。配置如下
在这里插入图片描述

3、省略指定主从复制开始binlog 文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、binlog格式对复制的影响

在这里插入图片描述
在这里插入图片描述
row格式缺点是需要具体记录行变化,占用内存大。但因为记录具体行变化,查错方便,是最多使用的。

在这里插入图片描述

5、备库延迟大怎么办?

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值