keepalived+双主
admin
2023-04-26 04:21:30
0

[root@mini1 ~]# setenforce 0

[root@mini1 ~]# systemctl stop firewalld.service 

[root@mini1 ~]# vim /etc/my.cnf 

server_id=1

log-bin=mysql-bin

gtid-mode=on

enforce-gtid-consistency=1

log_slave_updates = 1

binlog-format=mixed

auto-increment-increment=2          #自动增长步长,三台mysql这设置为3

auto-increment-offset=1              #自增长初始值

[root@mini1 ~]# service mysqld start

[root@mini2 ~]# setenforce 0

[root@mini2 ~]# systemctl stop firewalld.service 

[root@mini2 ~]# vim /etc/my.cnf 

server_id=2

log-bin=mysql-bin

gtid-mode=on

enforce-gtid-consistency=1

log_slave_updates = 1

binlog-format=mixed

auto-increment-increment=2  

auto-increment-offset=2

[root@mini2 ~]# service mysqld start

#设置双主同步

[root@mini1 ~]# mysql -uroot -p123456

mysql> grant replication slave on *.* to rep@'192.168.1.%' identified by '123456';

[root@mini2 ~]# mysql -uroot -p123456

mysql> change master to master_host='192.168.1.128',master_user='rep',master_password='123456',master_port=3306,master_auto_position=1;

mysql> start slave;

mysql> show slave status\G;

mysql>  grant replication slave on *.* to rep@'192.168.1.%' identified by '123456';

[root@mini1 ~]# mysql -uroot -p123456

mysql> change master to master_host='192.168.1.128',master_user='rep',master_password='123456',master_port=3306,master_auto_position=1;

mysql> start slave;

mysql> show slave status\G;

#测试是否同步

mysql> create database test;

mysql> create table test.t1(id int primary key auto_increment,name varchar(10));

mysql> insert into test.t1(name) values('tom1');

#登录master2查看

mysql> select * from test.t1;

+----+------+

| id | name |

+----+------+

|  2 | tom1 |

|  4 | tom1 |

+----+------+

#在master1与master2上安装keepalived

#keepalived依赖包

[root@mini1 ~]# yum -y install kernel-devel openssl-devel popt-devel

[root@mini1 ~]# tar zxf keepalived-2.0.6.tar.gz 

[root@mini1 ~]# cd keepalived-2.0.6/

[root@mini1 keepalived-2.0.6]# ./configure --prefix=/ --with-kernel-dir= /usr/src/kernels/3.10.0-862.9.1.el7.x86_64/ &&make &&make install

[root@mini1 ~]# vim /etc/keepalived/keepalived.conf 

[root@mini1 ~]# vim /etc/keepalived/keepalived.conf 


! Configuration File for keepalived


global_defs {

   router_id mysql_1

}

    state BACKUP

    interface eno16777728

    virtual_router_id 51

        auth_type PASS

        auth_pass 1111

! Configuration File for keepalived


global_defs {

   router_id mysql_1

}


vrrp_instance VI_1 {

    state BACKUP

    interface eno16777728

    virtual_router_id 51

    priority 100

    advert_int 1

    nopreempt

    authentication {

        auth_type PASS

        auth_pass 1111

    }   

    virtual_ipaddress {

        192.168.1.100 

    }   

}   


virtual_server 192.168.1.100 3306 {

    delay_loop 6

    lb_algo rr 

    lb_kind DR 

    persistence_timeout 50

    protocol TCP


    real_server 192.168.1.128 3306 {

        weight 1

        notify_down /etc/keepalived/bin/mysql.sh                  

        TCP_CHECK {

            connect_timeout 3

            retry 3

            delay_before_retry 3

            connect_port 3306

        }

    }

}

[root@mini1 ~]# mkdir /etc/keepalived/bin

[root@mini1 ~]# vim /etc/keepalived/bin/mysql.sh

#!/bin/bash

pkill keepalived

/sbin/ifdown eno16777728 && /sbin/ifup eno16777728

[root@mini1 ~]# chmod +x /etc/keepalived/bin/mysql.sh 

[root@mini1 ~]# systemctl start keepalived.service 

[root@mini1 ~]# ss -lanp |grep keepa

p_raw  UNCONN     0      0      rarp:*                      *                    users:(("keepalived",pid=17863,fd=7))

u_dgr  UNCONN     0      0         * 25852                 * 8724                users:(("keepalived",pid=17863,fd=3),("keepalived",pid=17862,fd=3),("keepalived",pid=17861,fd=3))

raw    UNCONN     0      0         *:112                   *:*                   users:(("keepalived",pid=17863,fd=9))

raw    UNCONN     0      0         *:112                   *:*                   users:(("keepalived",pid=17863,fd=8))

raw    UNCONN     0      0         *:255                   *:*                   users:(("keepalived",pid=17862,fd=5))

#master2给以上一样,只需修改配置文件几个地方和mysql.sh

[root@mini2 ~]# vim /etc/keepalived/keepalived.conf 


! Configuration File for keepalived


global_defs {

   router_id mysql_2

}


    state BACKUP

    interface eno16777736

    virtual_router_id 51

    priority 50

        auth_type PASS

        auth_pass 1111

    }   

    virtual_ipaddress {

        192.168.1.100 

    }   

}   


virtual_server 192.168.1.100 3306 {

    delay_loop 6

    lb_algo rr 

    lb_kind DR 

    persistence_timeout 50

    protocol TCP

    

    real_server 192.168.1.129 3306 {

        weight 1

        notify_down /etc/keepalived/bin/mysql.sh

        TCP_CHECK { 

            connect_timeout 3

            retry 3

            delay_before_retry 3

            connect_port 3306

        }   

    }   

}   

[root@mini2 ~]# vim /etc/keepalived/bin/mysql.sh 

#!/bin/bash

pkill keepalived

/sbin/ifdown eno16777736 && /sbin/ifup eno16777736

[root@mini1 ~]# chmod +x /etc/keepalived/bin/mysql.sh 

[root@mini1 ~]# ip addr

2: eno16777728: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

    link/ether 00:0c:29:d8:de:a3 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.128/24 brd 192.168.1.255 scope global noprefixroute dynamic eno16777728

       valid_lft 5353953sec preferred_lft 5353953sec

    inet 192.168.1.100/32 scope global eno16777728

       valid_lft forever preferred_lft forever

[root@mini1 ~]# service mysqld stop

Shutting down MySQL............ SUCCESS! 

[root@mini1 ~]# ip addr

2: eno16777728: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

    link/ether 00:0c:29:d8:de:a3 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.128/24 brd 192.168.1.255 scope global noprefixroute dynamic eno16777728

       valid_lft 5353814sec preferred_lft 5353814sec

    inet6 fe80::20c:29ff:fed8:dea3/64 scope link noprefixroute 

       valid_lft forever preferred_lft forever

[root@mini2 ~]# ip addr

2: eno16777736: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

    link/ether 00:0c:29:da:f7:a1 brd ff:ff:ff:ff:ff:ff

    inet 192.168.1.129/24 brd 192.168.1.255 scope global noprefixroute dynamic eno16777736

       valid_lft 5353785sec preferred_lft 5353785sec

    inet 192.168.1.100/32 scope global eno16777736

       valid_lft forever preferred_lft forever

    inet6 fe80::20c:29ff:feda:f7a1/64 scope link noprefixroute 

       valid_lft forever preferred_lft forever


相关内容

热门资讯

烈焰熊熊,堪比“原子弹”,欧洲... 据美国有线电视新闻网(CNN)7月29日报道,席卷法国西南部的大片野火燃烧得如此猛烈,以至于形成了一...
外交部:对日本熊本县地震遇难者... 据凤凰卫视报道,针对日本熊本县发生强震造成人员伤亡,中国外交部发言人毛宁7月29日在例行记者会上表示...
高铁喧哗被劝阻后叫嚣全家体制内... “女子高铁喧哗被劝阻后叫嚣全家体制内”一事迎来官方通报。据新京报报道,7月29日,辽宁北票市公安局发...
广东专业蓝牙耳机定制厂家推荐,... 在珠三角腹地,广东早已成为全球蓝牙耳机产业链的“心脏地带”。从深圳华强北的声学元件批发,到东莞、惠州...
格雷厄姆葬礼变地缘竞价场!两大... 有些葬礼,送别的是逝者;有些葬礼,演的却是活人最现实的政治博弈。当地时间7月28日,美国老牌鹰派参议...
一道小学数学题难住3名医学博士... 3名不同学校的博士同做一道数学题,谁最厉害?近日,一陕西网友发布的视频引发热议。29日,视频发布者“...
华为全新“小艺任务”亮相:整合... 7月29日,在华为鸿蒙电脑新品技术沟通会上,终端云服务小艺业务部总裁贾永利宣布,小艺将迎来“从对话到...
广西日报特稿《王的猜想》火了,... 澎湃新闻记者 蒋子文 实习生 汤煜炜为应对外界购买纸质版特稿《王的猜想》的热情,《广西日报》宣布紧急...
月租20元内!2026年平价云... 不少手游玩家、账号运营从业者挑选云手机时,首要诉求就是低价够用,想要控制每月支出在20元以内,同时兼...
诺奖得主如何看待王虹境遇?“我... 中村修二(2014年诺贝尔物理学奖得主)【导读】近日王虹与邓煜双双获得2026年菲尔兹奖,成为了首批...