#####################################################

本文内容来自《老男孩linux运维实战培训》学生—何旭东

如有转载,请务必保留本文链接及本内容版权信息。 

欢迎广大运维同仁一起交流linux/unix网站运维技术!

QQ:345078833

E-mail:345078833qq.com

#####################################################

老男孩linux运维实战培训中心

培训咨询:QQ:80042789 70271111

培训电话:18600338340 18911718229

老男孩老师 QQ:49000448 31333741

网站地址:http://www.etiantian.org

老男孩博客:http://oldboy.blog.51cto.com

老男孩交流群  246054962208160987 226199307  44246017

网站运维交流群:114580181 45039636 37081784
#####################################################

wKioL1UqiszRC4MuAAGu0XhlkIg704.jpg

 

mysqlbinlog 三种模式说明:

Statement Level模式     

缺点:语句级别的复制,常规互联网公司,不用触发器,不用存储过程,否则会出现复制故障。及不同步。比如:sleep()函数在有些版本中不能正确复制。

优点:不需要记录每一行数据的变化。改一百万条也是一行的

 

Row lovel模式(行模式)

优点:如果执行update 一条语句1000个则在binlog里会记录一条一句。复制功能完善。存储过程,触发器,以及trigger的调用很可以使用。

缺点:会导致主从延迟。

 

Mixecl模式 (混合模式)

前两种模式的结合。    如果有需求,用函数,存储过程,触发器,用此种模式。

 wKiom1Uqjs7SpVMfAAFN9F4ATjg425.jpg

 

双主之间要相互change master 一下。。。

 

 

 

 

高可用:数据库高可用 

闹裂发生几种原因:

1 心跳线坏了(包括断了,老化)

2 网卡及相关驱动坏了,IP配置冲突问题(网卡直连)

3 心跳线之间连接的设备故障(网卡及交换机)

4 仲裁的机器出现问题

 

同时使用串行电缆和以太网电缆连接,同时用两条心跳线路。这样一条坏了,另一个还是好的,依然能传递心跳消息(网卡设备和网线设备)

检测到闹裂时强行关闭心跳节点。(这个功能需特殊设备支持,如stonith/fence)相当于程序上备节点发现心跳故障,发送关机命令到主节点。

做好对裂脑的监控报警(如邮件及手机短信等),在问题发生时人为第一时间介入冲裁,降低损失,当然,在实施高可用方案时,要根据业务实际需求确定是否容忍这样的损失,对于一般网站业务,这个损失是可控的

启用磁盘锁,在正在服务的一方锁住共享磁盘,“闹裂”发生时让对方去完全“抢不走”共享磁盘资源。但使用鎖磁盘也会有一个不小的问题,如果占用共享的一方不主动“解锁”,另外一方就永远得不到共享磁盘。实际中假如服务节点突然死机或崩溃,就不可能执行解锁命令。后背节点就接管不了共享资源和应用服务。