成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

mysql雙主加keepalived

IT那活兒 / 548人閱讀
mysql雙主加keepalived

點(diǎn)擊上方“IT那活兒”,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了!?。?/span>





配置半同步


一、192.168.56.11:

install plugin rpl_semi_sync_master SONAME semisync_master.so;

上:加載半同步的插件。

install plugin rpl_semi_sync_slave SONAME semisync_slave.so;

上:因?yàn)槲覀円鲭p主,所以要將主從角色的插件都加載。

注意:一定要先加載插件,如果先添加參數(shù)是會報(bào)錯(cuò)的。

vi /etc/my.cnf

log_bin

#上:開啟binlog用于數(shù)據(jù)同步。

server_id=1001

#上:主從必須配置不一樣的server_id。配置一樣的話同步機(jī)制會啟動失敗。

rpl_semi_sync_master_enabled=1

#上:開啟半同步機(jī)制,角色為主。

rpl_semi_sync_master_timeout=1000

#上:主角色的等待從返回ack的超時(shí)時(shí)間,超過這個(gè)時(shí)間就會退化成異步復(fù)制。

rpl_semi_sync_slave_enabled=1

#上:開啟半同步機(jī)制,角色為從,因?yàn)槲覀円渲秒p主所以這兩種角色的控制要都打開。

master_info_repository=TABLE;

#將master_info信息記錄到表上。

relay_log_info_repository=TABLE;

#將relay_log_info信息記錄到表上。

gtid_mode=ON

#開啟gtid。

enforce_gtid_consistency=ON


#開啟嚴(yán)格模式,不允許執(zhí)行可能導(dǎo)致數(shù)據(jù)不一致的sql語句。比如create table as select。

(以上:添加如上配置到my.cnf文件當(dāng)中)

systemctl restart mysqld

重啟Mysql讓這些配置生效。

show variables like %rpl%;

上:可以看到主從角色的半同步控制都已經(jīng)激活。

select * from mysql.plugin;

上:可以看到兩個(gè)角色的半同步插件都已經(jīng)加載。

create user sync@% identified by sync;
grant replication slave on *.* to sync@%;

上:創(chuàng)建同步賬號。

二、192.168.56.12:

12的配置步驟完全重復(fù)11的。

server_id=1002

注:唯一不一樣的地方就是這個(gè)server_id。剩下的都是按照11的配置再來一次。



啟動雙主


一、192.168.56.11:

CHANGE MASTER TO
MASTER_HOST=192.168.56.12,
MASTER_USER=sync,
MASTER_PASSWORD=sync,
MASTER_PORT=3306,
MASTER_AUTO_POSITION=1;

start slave;
show slave statusG

二、192.168.56.12:

CHANGE MASTER TO
MASTER_HOST=192.168.56.11,
MASTER_USER=sync,
MASTER_PASSWORD=sync,
MASTER_PORT=3306,
MASTER_AUTO_POSITION=1;

start slave;
show slave statusG

三、192.168.56.11,192.168.56.12:

show status like %rpl%;


注:查看Rpl_semi_sync_master_clients的值是不是1,Rpl_semi_sync_master_status和Rpl_semi_sync_slave_status的值是不是都為ON,如果不是就說明有問題。



安裝keepalived


192.168.56.11以及192.168.56.12:

yum -y install  e2fsprogs-devel keyutils-libs-devel libsepol-devel libselinux-devel krb5-devel zlib-devel
openssl-devel popt-devel

上:安裝依賴包。

tar zxvf keepalived-2.1.5.tar.gz

cd keepalived-2.1.5/

./configure --prefix=/usr/local/keepalived

make

make install

上:編譯安裝。

cd /software/keepalived-2.1.5/keepalived/etc/init.d/


cp keepalived /etc/init.d/

上:方便啟動keepalived服務(wù)。

cd /etc/keepalived/


vi keepalived.conf

上:編輯keepalived的配置文件。

vi /etc/keepalived/bin/mysql_check.sh
chmod 755 /etc/keepalived/bin/mysql_check.sh

上:添加監(jiān)控mysql是否存活的腳本。

systemctl start k

eepalived

上:因?yàn)閂IP要綁定192.168.56.11所以先啟動11。

VIP為192.168.56.13



配置文件


一、192.168.56.11的keepalived.conf

! Configuration File for keepalived

global_defs {
   router_id KeepAlive_MySQL
}
vrrp_script check_run {
   script "/etc/keepalived/bin/mysql_check.sh"
   interval 30
}

vrrp_sync_group VG1 {
group {
    VI_1
 }
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    mcast_src_ip 192.168.56.11
    virtual_router_id 51
    priority 100
    advert_int 1
    nopreempt
    authentication 
{
        auth_type PASS
        auth_pass 1111
    }
    track_script {
    check_run
    }

    virtual_ipaddress {
        192.168.56.13
    }
}

二、192.168.56.12的keepalived.conf

! Configuration File for keepalived

global_defs {
   router_id KeepAlive_MySQL
}
vrrp_script check_run {
   script "/etc/keepalived/bin/mysql_check.sh"
   interval 30
}

vrrp_sync_group VG1 {
group {
    VI_1
 }
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    mcast_src_ip 192.168.56.12 ---本機(jī)IP地址
    virtual_router_id 51
    priority 90
    advert_int 1
    nopreempt
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    track_script {
    check_run
    }

#視情況自行添加以下檢測腳本

# notify_master "/home/sh/master.sh"
# notify_backup "/home/sh/backup.sh
# notify_stop "/home/sh/stop.sh

    virtual_ipaddress {
        192.168.56.13
    }

}

三、192.168.56.11以及192.168.56.12的mysql_check.sh

#!/bin/bash
. /root/.bash_profile
count=1
while true
do
mysql -uroot -p"xxxxx" -e "show status;">/dev/null 2>&1
i=$?
ps aux | grep mysqld | grep -v grep >/dev/null 2>&1
j=$?
if [ $i = 0 ]&&[ $j = 0 ]
then
exit 0
else
 if [ $i = 1 ]&&[ $j = 0 ]
 then
 exit 0
 else
   if [ $count -gt 5 ]
   then
         break
   fi
 let count++
 continue
 fi
fi
done
/etc/init.d/keepalived stop




本文作者:許智發(fā)

本文來源:IT那活兒(上海新炬王翦團(tuán)隊(duì))

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/129631.html

相關(guān)文章

  • MySQL高可用方案測試

    MySQL高可用方案測試 img{ display:block; margin:0 auto !important; width:100%; } body{ width:75%; margin...

    IT那活兒 評論0 收藏2496
  • MySQL集群搭建(6)-雙主+keepalived高可用

    摘要:雙主是一個(gè)比較簡單的高可用架構(gòu),適用于中小集群,今天就說說怎么用做的高可用。缺點(diǎn)也比較明顯,就是增加從節(jié)點(diǎn)的情況下,從節(jié)點(diǎn)不會主動切換同步對象,而且腳本需要自己實(shí)現(xiàn),有一定風(fēng)險(xiǎn)。 雙主 + keepalived 是一個(gè)比較簡單的 MySQL 高可用架構(gòu),適用于中小 MySQL 集群,今天就說說怎么用 keepalived 做 MySQL 的高可用。 1 概述 1.1 keepalive...

    CarlBenjamin 評論0 收藏0
  • MySQL集群搭建(6)-雙主+keepalived高可用

    摘要:雙主是一個(gè)比較簡單的高可用架構(gòu),適用于中小集群,今天就說說怎么用做的高可用。缺點(diǎn)也比較明顯,就是增加從節(jié)點(diǎn)的情況下,從節(jié)點(diǎn)不會主動切換同步對象,而且腳本需要自己實(shí)現(xiàn),有一定風(fēng)險(xiǎn)。 雙主 + keepalived 是一個(gè)比較簡單的 MySQL 高可用架構(gòu),適用于中小 MySQL 集群,今天就說說怎么用 keepalived 做 MySQL 的高可用。 1 概述 1.1 keepalive...

    lily_wang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<