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。