MySQL的MHA+keepalived+负载均衡+读写分离架构
MHA只是保证数据库一致性,对于实现应用访问的固定入口、读写分离、负载均衡需要keepalived、中间件、lvs来解决了。
一、如何手动恢复二进制日志,
show master logs //查看所有的二进制日志
flush logs;//刷写日志
mysqlbinlog /data/mysql/mysql-bin.000002 //查看文档内容
注意:假如本地 mysqlbinlog 无法识别 binlog 配置中的 default-character-set=utf8,
所以可以在命令中加上了 –no-defaults才起作用,大家引以为鉴。
恢复:
mysqlbinlog –no-defaults –stop-datetime=’2017-04-11 09:48:48’/data/mysql/mysql-bin.000001 | mysql –uroot –p123456
mysqlbinlog /var/lib/mysql/mysql-bin.000006 --start-position=351 --stop-position=632 | mysql -uroot -pwolf -h192.168.1.106
二、MHA+keepalived 实现真正高可用
参考:http://blog.csdn.net/yabingshi_tech/article/details/55509269
keepalived通常是用来防止单点故障造成集群失效,本例使用keepalived主要是两个作用,一个是防止单点故障,一个是用两个vip做读写分离,关于配置继续看步骤3。
读写分离
读写分离有两种方式,一种是用keepalived,对外使用两个ip,分别对应写vip,读vip;一种是用中间件,对外就是一个ip。