您的位置:首页 > 运维架构 > 网站架构

MySql高可用性HA主从配置(双主双从HA模式)

2016-10-11 16:18 411 查看
双主双从是在一主一从基础上发展过来的高可用性双保险配置,和一主一从的区别并不是很大,主要注意的是双主中的my.cnf的配置

一。网络拓扑图

    


二. 搭建准备

    在各台集群机上安装好mysql,并打开mysql的binlog日志.

    #> vi /usr/my.cnf

        # 在[mysqld]中添加:

        #设置binlog的路径和名字

        log-bin=/var/logs/mysql/slave1-bin

        #设置binlog的目录管理文件的路径和名字.名字可以修改,但是存放路径不要轻易修改。

        log-bin-index=slave1-bin.index

        #配置binlog的保存时间为10天

        expire_logs_day=10

三. my.cnf配置

    #>vi /usr/my.cnf

    

        [mysqld]

        # auto_increment,控制自增列AUTO_INCREMENT的行为用于MASTER-MASTER之间的复制,防止出现重复值,auto_increment_increment=n有多少台服务器,n 就设置为多少

        auto_increment_increment=2

        #auto_increment_offset=1设置步长,这里设置为1,这样Master的auto_increment字段产生的数值是:1, 3, 5, 7, …等奇数ID

        #注意此值的设置,不同的master设置不应该一样,否则就容易引起主键冲突,譬如master的offset=1,则masterB的offset=2,masterC的offset=3

        auto_increment_offset=1

        

        #此参数是配置从服务器的更新是否写入二进制日志,这个选项默认是不打开的,注意,在双主的模式中,此参数一定要设置,否则在masterB上进行了更新数据,在masterA和slaveB-1上会更新,但是在slaveA-1上不会更新

        log-slave-updates

        #经过1日志写操作就把日志文件写入硬盘一次(对日志信息进行一次同步)。n=1是最安全的做法,但效率最低。默认设置是n=0。

        sync_binlog=1

四.    创建用户

    在masterA 和masterB 上分别创建访问用户

    #>mysql -uroot -uroot

    mysql> create user mysync;

    myslq> GRANT REPLICATION SLAVE ON *.* TO 'mysync'@'%' IDENTIFIED BY 'q123456';

五.    配置准备

    在masterA 和masterB上刷新binlog日志

    mysql>

        reset slave;

        reset master;

        stop slave;

        show mster status;

        show slave status \G;

        

四. 在slave上配置master服务    

    #>mysql -uroot -uroot

    mysql>

        change master to master_host='192.168.2.99',

        master_user='mysync',

        master_password='q123456',

        master_log_file='slave1-bin.000001',

        master_log_pos=120;

        

    *此处需要注意。如果以masterA 为例,则需要在masterB和slaveA-1上进行此操作,而slaveB-1上不需要进行;同样的,如果以masterB为例,则需要在mastarA和slaveB-1的mysql上执行此段代码,注意要根据各自对应替换对应的地方

五. 启动slave服务

    在各个服务器中分别启动 slave服务

    mysql> start slave;

六. 验证slave status 和检查是否成功

    mysql>show show slave status \G;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  msql ha