#####################################################
本文内容来自《老男孩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
#####################################################
mysqlbinlog 三种模式说明:
Statement Level模式
缺点:语句级别的复制,常规互联网公司,不用触发器,不用存储过程,否则会出现复制故障。及不同步。比如:sleep()函数在有些版本中不能正确复制。
优点:不需要记录每一行数据的变化。改一百万条也是一行的
Row lovel模式(行模式)
优点:如果执行update 一条语句1000个则在binlog里会记录一条一句。复制功能完善。存储过程,触发器,以及trigger的调用很可以使用。
缺点:会导致主从延迟。
Mixecl模式 (混合模式)
前两种模式的结合。 如果有需求,用函数,存储过程,触发器,用此种模式。
双主之间要相互change master 一下。。。
高可用:数据库高可用
闹裂发生几种原因:
1 心跳线坏了(包括断了,老化)
2 网卡及相关驱动坏了,IP配置冲突问题(网卡直连)
3 心跳线之间连接的设备故障(网卡及交换机)
4 仲裁的机器出现问题
同时使用串行电缆和以太网电缆连接,同时用两条心跳线路。这样一条坏了,另一个还是好的,依然能传递心跳消息(网卡设备和网线设备)
检测到闹裂时强行关闭心跳节点。(这个功能需特殊设备支持,如stonith/fence)相当于程序上备节点发现心跳故障,发送关机命令到主节点。
做好对裂脑的监控报警(如邮件及手机短信等),在问题发生时人为第一时间介入冲裁,降低损失,当然,在实施高可用方案时,要根据业务实际需求确定是否容忍这样的损失,对于一般网站业务,这个损失是可控的
启用磁盘锁,在正在服务的一方锁住共享磁盘,“闹裂”发生时让对方去完全“抢不走”共享磁盘资源。但使用鎖磁盘也会有一个不小的问题,如果占用共享的一方不主动“解锁”,另外一方就永远得不到共享磁盘。实际中假如服务节点突然死机或崩溃,就不可能执行解锁命令。后背节点就接管不了共享资源和应用服务。
转载于:https://blog.51cto.com/hexudong/1631662