久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何理解基于keepalived的MySQL主主復(fù)制

共計(jì) 5949 個(gè)字符,預(yù)計(jì)需要花費(fèi) 15 分鐘才能閱讀完成。

這篇文章將為大家詳細(xì)講解有關(guān)如何理解基于 keepalived 的 MySQL 主主復(fù)制,文章內(nèi)容質(zhì)量較高,因此丸趣 TV 小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

系統(tǒng)環(huán)境:Linux red hat 6.3
mysql 版本:mysql 5.6.34
mater1 節(jié)點(diǎn) ip:192.168.140.222     主機(jī)名:red1
mater2 節(jié)點(diǎn) ip:192.168.140.224     主機(jī)名:red2
一、分別在兩個(gè)節(jié)點(diǎn)安裝 mysql 數(shù)據(jù)庫。

二、1 節(jié)點(diǎn)修改 /etc/my.cnf 參數(shù)
server_id =1        // 標(biāo)志,節(jié)點(diǎn)之間不能重復(fù)
log-bin=/var/lib/mysql/xbinlog/binlog      // 開啟 binlog,并保存在位置 /var/lib/mysql/xbinlog/ 下
binlog-format=ROW              //binlog 的模式是 row 模式  
log_slave_updates=1          // 開啟 log-slave-updates 參數(shù)后,從庫從主庫復(fù)制的數(shù)據(jù)會(huì)寫入 log-bin 日志文件里
sync_binlog=1          // 當(dāng)每進(jìn)行 1 次事務(wù)提交之后,MySQL 將進(jìn)行一次 fsync 之類的磁盤同步指令來將 binlog_cache 中的數(shù)據(jù)強(qiáng)制寫入磁盤。
innodb_flush_log_at_trx_commit=1        // 代表每 1 次事務(wù)提交或事務(wù)外的指令都需要把日志寫入(flush)硬盤
slave-parallel-workers=2        // 設(shè)定從服務(wù)器的 SQL 線程數(shù)位 2 個(gè);0 表示關(guān)閉多線程復(fù)制功能
replicate-do-db=replicate          // 同步的數(shù)據(jù)庫是 replicate

并且給 /var/lib/mysql/xbinlog/ 目錄賦予 mysql:mysql 權(quán)限,否則會(huì)起不來  chown mysql:mysql /var/lib/mysql/xbinlog/
重啟 mysql 服務(wù)

2 節(jié)點(diǎn)修改 /etc/my.cnf 參數(shù)
server_id =2                                     // 這個(gè)參數(shù)要保證 2 個(gè)節(jié)點(diǎn)不一致
log_bin=/opt/mysql/data/ybinlog/binlog
binlog-format=ROW
log_slave_updates=1
sync_binlog=1
innodb_flush_log_at_trx_commit=1
slave-parallel-workers=2
replicate-do-db=replicate

并且給 /var/lib/mysql/ybinlog/ 目錄賦予 mysql:mysql 權(quán)限,否則會(huì)起不來  chown mysql:mysql /var/lib/mysql/ybinlog/
重啟 mysql 服務(wù)

三、在 1 節(jié)點(diǎn):
mysql grant replication slave on *.* to replicate @ 192.168.140.224 identified by replicate  
Query OK, 0 rows affected (0.00 sec)

mysql flush tables with read lock;  
Query OK, 0 rows affected (0.00 sec)

mysql show master status;
+—————+———-+————–+——————+——————-+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+—————+———-+————–+——————+——————-+
| binlog.000002 |      337 |              |                  |                   |
+—————+———-+————–+——————+——————-+
1 row in set (0.00 sec)

mysql unlock tables; 
Query OK, 0 rows affected (0.00 sec)

在 2 節(jié)點(diǎn)
mysql change master to master_host= 192.168.140.222 ,master_user= replicate ,master_password= replicate ,master_log_file= binlog.000002 ,master_log_pos=337;
Query OK, 0 rows affected, 2 warnings (0.00 sec)

mysql start slave;
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql show slave status\G                  // 查看 Slave_IO_Running 和 Slave_SQL_Running 兩項(xiàng)是不是 yes 狀態(tài)

mysql show master status; 
+—————+———-+————–+——————+——————-+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+—————+———-+————–+——————+——————-+
| binlog.000001 |      120 |              |                  |                   | 
+—————+———-+————–+——————+——————-+

在 1 節(jié)點(diǎn)
mysql change master to master_host= 192.168.140.224 ,master_user= replicate , master_password= replicate ,master_log_file= binlog.000001 ,master_log_pos=120;
Query OK, 0 rows affected, 2 warnings (0.01 sec)

mysql start slave;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql show slave status\G                  // 查看 Slave_IO_Running 和 Slave_SQL_Running 兩項(xiàng)是不是 yes 狀態(tài)

四、測試,在 2 個(gè)節(jié)點(diǎn)都插入數(shù)據(jù),然后 select 驗(yàn)證一下

五、下載 keepalived
http://www.keepalived.org/software/keepalived-1.2.13.tar.gz
解壓:tar xvf keepalived-1.2.13.tar.gz
cd keepalived-1.2.13
初始化:./configure  –disable-fwmark
編譯安裝:make make install

keepalived 的配置前提
1、本機(jī)的主機(jī)名與 hosts 中定義的主機(jī)保持一致。
2、各節(jié)點(diǎn)要能互相解析主機(jī)名,也就是說 hosts 文件中要有本機(jī)的和對(duì)方的 ip 和對(duì)應(yīng)的主機(jī)名
3、各個(gè)節(jié)點(diǎn)的時(shí)間必須同步

  關(guān)閉 selinux 并清空防火墻規(guī)則
[root@red1 ~]# setenforce 0
[root@red1 ~]# iptables -F

配置 keepalived
cp /usr/local/etc/sysconfig/keepalived  /etc/sysconfig/
cp /usr/local/sbin/keepalived  /usr/bin/
cp /software/keepalived/keepalived-1.2.13/keepalived/etc/init.d/keepalived.init   /etc/init.d
mkdir -p /etc/keepalived
cp /software/keepalived/keepalived-1.2.13/keepalived/etc/keepalived/keepalived.conf  /etc/keepalived/

節(jié)點(diǎn) 1 上配置
vim /etc/keepalived/keepalived.conf
! Configuration File for keepalived
global_defs {                      // 全局配置段
   notification_email {            // 定義故障通知郵箱  
         root@localhost            // 郵箱地址,可以多個(gè)
   } 
   notification_email_from root@localhost          // 發(fā)件人地址
   smtp_server localhost                         // 郵件服務(wù)器地址
   smtp_connect_timeout 30                   // 聯(lián)系郵件服務(wù)器的超時(shí)時(shí)長
   router_id red1                           // 當(dāng)前物理設(shè)備在網(wǎng)絡(luò)中的唯一 ID 標(biāo)識(shí)  
}

vrrp_instance VI_1 {                      // 實(shí)例名在配置文件中不能重復(fù)
    state MASTER                           //MASTER 或 BACKUP,定義當(dāng)前節(jié)點(diǎn)默認(rèn)為主或從節(jié)點(diǎn)
    interface eth0
    virtual_router_id 51                  // 當(dāng)前虛擬路由的標(biāo)識(shí)符,必須全局唯一
    priority 100                        // 定義當(dāng)前實(shí)例的優(yōu)先級(jí),備機(jī)要小于主機(jī)  
    advert_int 1                        // 狀態(tài)通告周期(秒)— 用于主節(jié)點(diǎn)向 BACKUP 節(jié)點(diǎn)通告心跳信息  
    authentication {                      / 消息認(rèn)證配置
        auth_type PASS                  // 認(rèn)證方式(MD5 或 PASS 簡單字符認(rèn)證)
        auth_pass 1111                // 認(rèn)證密碼,所有同一虛擬實(shí)例節(jié)點(diǎn)的必須保持一致
    }
    virtual_ipaddress {              // 自動(dòng)配置在 interface 上的(vip) 虛擬 IP 地址, 可以是多個(gè)
      192.168.140.66                // 虛擬 ip
    } 
}

virtual_server 192.168.140.66 {           // 虛擬 ip
    delay_loop 6                            //RealServer 的健康狀態(tài)探查的時(shí)間間隔
    lb_algo rr                                  // 負(fù)載均衡的調(diào)度算法(Scheduler)
    lb_kind DR                                  //LVS 類型。支持 NAT/DR/TUN
    persistence_timeout 50                     // 持久連接超時(shí)時(shí)間
    protocol TCP                              // 只能適用 TCP,若適用 UDP 則使用 ops 參數(shù)
    real_server 192.168.140.222 {               // 1 節(jié)點(diǎn) ip
        weight 1                                   權(quán)重
        TCP_CHECK {                             
            connect_timeout 3                       健康狀態(tài)監(jiān)測超時(shí)時(shí)間                
            nb_get_retry 3                        number of get retry 
            delay_before_retry 3                   每次重試之前延遲 3 秒  
           # connect_port 3306
      }
    }
}

節(jié)點(diǎn) 2 上配置
! Configuration File for keepalived
global_defs {
   notification_email {
         root@localhost
   }
   notification_email_from root@localhost
   smtp_server localhost
   smtp_connect_timeout 30
   router_id red2
}

vrrp_instance VI_1 {
    state BACKUP
    interface eth0
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
      192.168.140.66
    }
}

virtual_server 192.168.140.66 {
    delay_loop 6
    lb_algo rr
    lb_kind DR
    persistence_timeout 50
    protocol TCP
    real_server 192.168.140.224{
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
            #connect_port 3306
      }
    }
}

開啟服務(wù)  service keepalived start
查看狀態(tài)  service keepalived status
查看 VIP 是否在本節(jié)點(diǎn)  ip add                          //VIP:192.168.140.66 會(huì)在節(jié)點(diǎn) 1 上,因?yàn)?1 節(jié)點(diǎn)的優(yōu)先級(jí)高。

六、測試 keepalived
此時(shí)在 1 節(jié)點(diǎn)和 2 節(jié)點(diǎn)上執(zhí)行 ip add,會(huì)發(fā)現(xiàn) VIP 192.168.140.66 會(huì)飄在 1 節(jié)點(diǎn)上。
然后在 1 節(jié)點(diǎn)上執(zhí)行 service keepalived stop,然后在 2 節(jié)點(diǎn)上執(zhí)行 ip add,會(huì)發(fā)現(xiàn) vip 飄到了 2 節(jié)點(diǎn)。
然后在 1 節(jié)點(diǎn) service keepalived start,會(huì)發(fā)現(xiàn) vip 又回到了 1 節(jié)點(diǎn)。
到此,測試成功

關(guān)于如何理解基于 keepalived 的 MySQL 主主復(fù)制就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-19發(fā)表,共計(jì)5949字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評(píng)論(沒有評(píng)論)
主站蜘蛛池模板: 邵阳市| 高台县| 桃江县| 长顺县| 杭锦旗| 汶上县| 玛纳斯县| 区。| 屯昌县| 雷波县| 鄄城县| 揭西县| 宝兴县| 柘荣县| 郧西县| 台安县| 石楼县| 南华县| 辰溪县| 邢台市| 星子县| 眉山市| 新沂市| 砀山县| 台山市| 淳安县| 合阳县| 永寿县| 昭平县| 庆元县| 寿阳县| 西畴县| 民勤县| 城步| 日土县| 信宜市| 太和县| 法库县| 马关县| 定南县| 呼和浩特市|