目录
一.MySQL主从复制
主MySQL服务器做的增删改,都会写入自己的二进制日志(Binary log),然后从MySQL服务器打开自己的I/O线程连接主服务器,进行读取主服务器的二进制日志,备份写入到从服务器的中继日志(Relay log)当中,然后从服务器打开SQL线程,将中继日志中的数据重放到自己的服务器中,复制完成。
先复制一份表,做为临时表,保存在内存中,给与用户修改,当事务提交后,再将内存中的临时表数据修改、保存到磁盘中I/o sql线程主要用于主从复制
增删改查中查询和写入→消耗线程资源(是一种连接机制) mysql的线程池处理能力较差→多线程处理能力不够→并发处理能力不够→线程/任务处理能力进行优化redis + MQ
二.MHA
2.1原理
基于二进制日志故障备份+基于VIP的健康检查+故障自动切换(master→backup master)
2.2如何搭建MHA
① 首先搭建主从复制
② 软连接(一条是做MySQL命令,mysqlbinlog 软连接)
③ ssh 免交互
④ manager 提权
以上是MySQL集群的操作
node组件
在所有服务器上优先部署
→ 抢救
→ 同步中继日志
→ 在mha节点上的node组件还会汇总其他node组件的信息,用于将详细信息提供给Manager组件
manager
→ 维护mysql集群信息
→ 健康检查+故障切换
核心的配置文件 2个
master_ip_failover → VIP +VIP所在的虚拟接口,如下:
my $vip ='192.168.226.200'; #浮动IP
my $ifdev='ens33' ; #使用的网卡为ens33
my $key='1';