中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用KeepAlived搭建MySQL高可用環境

發布時間:2021-08-12 11:02:30 來源:億速云 閱讀:160 作者:chen 欄目:MySQL數據庫

本篇內容介紹了“怎么用KeepAlived搭建MySQL高可用環境”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

怎么用KeepAlived搭建MySQL高可用環境

使用KeepAlived搭建MySQL的高可用環境。
首先搭建MySQL的主從復制
在Master開啟binlog,創建復制帳號,
然后在Slave輸入命令

  1. change master to

  2. master_host='192.168.1.70',

  3. master_port=3306,

  4. master_user='xx',

  5. master_password='xx';

然后使用start slave開啟復制。

然后編譯安裝KeepAlived
進入keepalived-1.2.12目錄
然后使用
./configure
make && make install

然后在Master服務器編輯KeepAlived的配置文件
vim /etc/keepalived/keepalived.conf

  1. ! Configuration File for keepalived


  2. global_defs {

  3.     router_id HA_MySQL

  4. }


  5. vrrp_instance VI_1 {

  6.         state BACKUP

  7.         interface eth0

  8.         virtual_router_id 51

  9.         priority 100

  10.         advert_int 1

  11.      nopreempt

  12.         authentication {

  13.                 auth_type PASS

  14.                 auth_pass 1111

  15.         }

  16.         virtual_ipaddress {

  17.          192.168.1.199

  18.         }

  19. }


  20. virtual_server 192.168.1.199 3306 {

  21.             delay_loop 2

  22.             lb_algo wrr

  23.             lb_kind DR

  24.             persistence_timeout 60

  25.             protocol TCP

  26.             real_server 192.168.1.70 3306 {

  27.                 weight 3

  28.                 notify_down /root/shutdown.sh

  29.                 TCP_CHECK {

  30.                     connect_timeout 10

  31.                     nb_get_retry 3

  32.                     delay_before_retry 3

  33.                     connect_port 3306

  34.                 } 

  35.             }

  36. }

然后編輯Slave的配置文件
vim /etc/keepalived/keepalived.conf

  1. ! Configuration File for keepalived

  2. global_defs {

  3.      router_id HA_MySQL

  4. }


  5. vrrp_instance VI_1 {

  6.      state BACKUP

  7.      interface eth0

  8.      virtual_router_id 51

  9.      priority 90

  10.      advert_int 1

  11.      nopreempt

  12.      authentication {

  13.          auth_type PASS

  14.          auth_pass 1111

  15.      }

  16.      virtual_ipaddress {

  17.          192.168.1.199

  18.      }

  19. }


  20. virtual_server 192.168.1.199 3306 {

  21.      delay_loop 2

  22.      lb_algo wrr

  23.      lb_kind DR

  24.      persistence_timeout 60

  25.      protocol TCP

  26.      real_server 192.168.1.80 3306 {

  27.          weight 3

  28.          notify_down /root/shutdown.sh

  29.          TCP_CHECK {

  30.              connect_timeout 10

  31.              nb_get_retry 3

  32.              delay_before_retry 3

  33.              connect_port 3306

  34.          }

  35.      }

  36. }

其中
priority                      表示優先級
virtual_ipaddress      虛擬的IP地址(VIP)
delay_loop                每個2秒檢查一次real_server狀態
notify_down              檢測到服務down后執行的腳本
connect_timeout      連接超時時間
nb_get_retry             重連次數
delay_before_retry   重連間隔時間
connect_port            健康檢查端口

shutdown.sh 可以考慮加入郵件告警的功能。

  1. #!/bin/bash

  2. pkill keepalived


在兩個服務器上啟動MySQL和KeepAlived服務
service mysql start
service keepalived start

Master的server_id為1
Slave的server_id為2

然后 連接VIP的MySQL,可以看到已經連接到了Master服務器(server_id為1)

怎么用KeepAlived搭建MySQL高可用環境

如果kill掉Master的MySQL,KeepAlived會自動轉移到Slave

在Master服務器上執行
killall mysqld

然后再次查看server_id,
短暫的失去連接之后,再次連接上VIP,server_id已經變為2,說明VIP已經指向了Slave

怎么用KeepAlived搭建MySQL高可用環境

nopreempt參數表示Master恢復正常之后,是否將VIP繼續指向Master
這樣的話,會再次引發切換。

兩臺服務器的KeepAlived會有心跳檢測,
如果Master的MySQL服務掛了(3306端口掛了),那么他會選擇自殺.
Slave的KeepAlived通過心跳檢測發現這個情況,就會將VIP的請求接管。

KeepAlived還有很多參數沒有明白是什么意思
生產環境的切換腳本,在Slave提升為Master之后,應該等待所有的中繼日志應用完畢,否則可能丟失數據

參考:
http://blog.csdn.net/wzy0623/article/details/38587839

“怎么用KeepAlived搭建MySQL高可用環境”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁强县| 绩溪县| 安福县| 琼结县| 长阳| 紫云| 永善县| 阳信县| 娄烦县| 西林县| 九台市| 龙川县| 禄劝| 沈阳市| 田阳县| 横山县| 三明市| 德阳市| 海原县| 稷山县| 汤原县| 民县| 乌拉特前旗| 平湖市| 辉南县| 吴江市| 上虞市| 丰镇市| 陕西省| 正宁县| 台山市| 浦城县| 崇明县| 砚山县| 泰安市| 黎城县| 台江县| 阿鲁科尔沁旗| 淮北市| 儋州市| 包头市|