前言:mysql
原理与思想sql
这里选用GTID主从复制模式Mysql主从复制模式,是为了更加确保主从复制的正确性、健康性与易配性。这里作的是两服务器A,B各有Mysql实例3310,两个实例间互为主从数据库
主从复制模式采用GTID主从复制模式,在服务器A,B上配置keepalived负载均衡,经过VIP链接数据库,目的是一旦有某数据库宕机,keepalived 就会当即建VIP执行另一台服务器
健康的数据库实例上,实现快速切换,避免单点故障,从而保证业务的正常运行。架构
这里只作了 双主+keepalived , 对于读写要求很大大的环境,推荐架构是,双主多从(能够经过集群管理软件MMM来实现高可用架构)读写分离,固然代价也是比较高的 。负载均衡
读写分离实现方法:ide
一、程序实现:程序端预留接口,当对于已经在运行的环境,从新修改程序,貌似不大现实测试
二、Mysql_proxy :官方的一种实现方式,可是官方建议不要再生产环境中使用,因此不推荐线程
三、Amoeba 软件分离 (推荐使用)日志
架构图:
1、环境要求:
服务器A:
192.168.1.31
系统环境:CetnOS6.五、Mysql-5.6.19(主从)、Keepalived(master)
服务器B:
192.168.1.32
系统环境:CetnOS6.五、Mysql-5.6.19(从主)、Keepalived(back)
2、安装Mysql 与 主从配置
(mysql安装步骤略)
这里服务器A上配置实例为3310,服务器B上的实例也为3310 (双主一样端口号的好处是在故障切换的时候)
安装好mysql后修改配置文件
一、修改A服务器上的mysql配置文件my.cnf
在my.cnf文件里加入参数(注意不要重复定义参数)
server-id = 201 //这里的ID号与从库上或者主库上的ID必须保证不同
log-bin=mysql-bin //能够自定义 这里定义为 log-bin=/data/log-bin/log-bin-3310
binlog_format=row //主从复制模式
log-slave-updates=true //slave 更新是否记入日志
gtid-mode=on // 启用gtid类型,不然就是普通的复制架构
enforce-gtid-consistency=true //强制GTID 的一致性
master-info-repository=TABLE //主服信息记录库=表 /文件
relay-log-info-repository=TABLE //中继日志信息记录库
sync-master-info=1 //同步主库信息
slave-