gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区

站長資訊網
最全最豐富的資訊網站

完全掌握MySQL復制架構

本篇文章給大家帶來了關于mysql的相關知識,其中主要介紹了關于復制架構的相關問題,包括了主從復制架構、聯級復制架構、多主從復制架構的搭建等等,希望對大家有幫助。

完全掌握MySQL復制架構

推薦學習:mysql視頻教程

一主多從復制架構

在實際應用場景中,MySQL復制90%以上都是一個Master復制到一個或者多個Slave的架構模式。

在主庫讀取請求壓力非常大的場景下,可以通過配置一主多從復制架構實現讀寫分離,把大量的對實時性要求不是特別高的讀請求通過負載均衡分部到多個從庫上(對于實時性要求很高的讀請求可以讓從主庫去讀),降低主庫的讀取壓力,如下圖所示。

完全掌握MySQL復制架構

缺點:

  • master不能停機,停機就不能接收寫請求
  • slave過多會出現延遲

由于master需要進行常規維護停機了,那么必須要把一個slave提成master,選哪一個是一個問題?

某一個slave提成master了,就存在當前master和之前的master數據不一致的情況,并且之前master并沒有保存當前master節點的binlog文件和pos位置。

多主復制架構

多主復制架構解決了一主多從復制架構中master的單點故障問題。

完全掌握MySQL復制架構

可以配合一個第三方的工具,比如keepalived輕松做到IP的漂移,這樣master停機維護也不會影響寫操作。

級聯復制架構

一主多從中如果slave過多,會導致主庫的I/O壓力和網絡壓力會隨著從庫的增加而增長,因為每個從庫都會在主庫上有一個獨立的BINLOG Dump線程來發送事件,而級聯復制架構解決了一主多從場景下的,主庫額外的I/O和網絡壓力。

如下圖所示。

完全掌握MySQL復制架構

對比一主多從的架構,級聯復制僅僅是從主庫Master復制到少量的從庫,其他從庫再從這少量的從庫中復制數據,這樣就減輕了主庫Master的壓力。

當然也有缺點:MySQL的傳統復制是異步的,級聯復制場景下主庫的數據是經歷兩次復制才到達其他從庫中,期間的延遲要比一主多從復制場景下只經歷一次復制的還大。

可以通過在二級slave上選擇表引擎為BLACKHOLE來降低級聯復制的延遲。顧名思義,BLACKHOLE引擎是一個“黑洞”引擎,寫入BLACKHOLE表的數據并不會寫會到磁盤上,BLACKHOLE表永遠都是空表,INSERT、UPDATE、DELETE操作僅僅在BINLOG中記錄事件。

下面演示下BLACKHOLE引擎:

mysql> CREATE TABLE `user` (     -> `id` int NOT NULL AUTO_INCREMENT PRIMARY KEY,     -> `name` varchar(255) NOT NULL DEFAULT '',     -> `age` tinyint unsigned NOT NULL DEFAULT 0     -> )ENGINE=BLACKHOLE charset=utf8mb4;Query OK, 0 rows affected (0.00 sec)mysql> INSERT INTO `user` (`name`,`age`) values("itbsl", "26");Query OK, 1 row affected (0.00 sec)mysql> select * from user;Empty set (0.00 sec)

可以看到,存儲引擎為BLACKHOLE的user表里沒有數據。

多主與級聯復制結合架構

結合多主與級聯復制架構,這樣解決了單點master的問題,解決了slave級聯延遲的問題。

完全掌握MySQL復制架構

多主復制架構的搭建

主機規劃:

  • master1:docker,端口3314
  • master2:docker,端口3315

master1的配置

配置文件my.cnf:

$ cat /home/mysql/docker-data/3315/conf/my.cnf [mysqld] character_set_server=utf8 init_connect='SET NAMES utf8'  symbolic-links=0  lower_case_table_names=1 server-id=1403314 log-bin=mysql-bin binlog-format=ROW auto_increment_increment=2 # 幾個主庫,這里就配幾 auto_increment_offset=1 # 每個主庫的偏移量需要不一致 gtid_mode=ON enforce-gtid-consistency=true binlog-do-db=order      # 要同步的數據庫

啟動docker:

$ docker run --name mysql3314 -p 3314:3306 --privileged=true -ti -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=order -e MYSQL_USER=user -e MYSQL_PASSWORD=pass -v /home/mysql/docker-data/3314/conf:/etc/mysql/conf.d -v /home/mysql/docker-data/3314/data/:/var/lib/mysql -v /home/mysql/docker-data/3314/logs/:/var/log/mysql -d mysql:5.7

添加用于復制的用戶并授權:

mysql> GRANT REPLICATION SLAVE,FILE,REPLICATION CLIENT ON *.* TO 'repluser'@'%' IDENTIFIED BY '123456'; Query OK, 0 rows affected, 1 warning (0.01 sec)  mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.01 sec)

開啟同步master1(這里的user來自master2):

mysql> change master to master_host='172.23.252.98',master_port=3315,master_user='repluser',master_password='123456',master_auto_position=1; Query OK, 0 rows affected, 2 warnings (0.03 sec)  mysql> start slave; Query OK, 0 rows affected (0.00 sec)

master2的配置

master2的配置與master1類似。

主要區別在于my.cnf中有一個屬性需要不一致:

auto_increment_offset=2 # 每個主庫的偏移量需要不一致

測試:

在master2創建表,并添加數據:

mysql> create table t_order(id int primary key auto_increment, name varchar(20)); Query OK, 0 rows affected (0.01 sec)  mysql> insert into t_order(name) values("A"); Query OK, 1 row affected (0.01 sec)  mysql> insert into t_order(name) values("B"); Query OK, 1 row affected (0.00 sec)  mysql> select * from t_order; +----+------+ | id | name | +----+------+ |  2 | A    | |  4 | B    | +----+------+ 2 rows in set (0.00 sec)

可以發現master2中id的步長為2,且從2開始自增。

然后在master1查詢數據,并添加:

mysql> select * from t_order; +----+------+ | id | name | +----+------+ |  2 | A    | |  4 | B    | +----+------+ 2 rows in set (0.00 sec)  mysql> insert into t_order(name) values("E"); Query OK, 1 row affected (0.00 sec)  mysql> select * from t_order; +----+------+ | id | name | +----+------+ |  2 | A    | |  4 | B    | |  5 | E    | +----+------+ 3 rows in set (0.00 sec)

可以發現master1中id的步長為2,且從1開始自增,再去master2中查詢能發現id為5的數據,說明主主復制配置沒有問題。

為什么兩個主中id自增的偏移量要不一致呢?當兩個主同時接受到插入請求時就能保證id不沖突,其實這樣只能保證插入數據不沖突,無法保證刪除和修改導致的數據不一致。

所以在實際的應用場景中,只能暴露一個主給客戶端才能保證數據的一致性。

MySQL高可用的搭建

完全掌握MySQL復制架構

這里借助keepalived來對上面的多主復制架構改造來實現MySQL的高可用。

keepalived的安裝:

$ sudo apt-get install -y keepalived

keepalived.conf

$ cat /etc/keepalived/keepalived3314.conf! Configuration File for keepalived#簡單的頭部,這里主要可以做郵件通知報警等的設置,此處就暫不配置了;global_defs {         #notificationd LVS_DEVEL}#預先定義一個腳本,方便后面調用,也可以定義多個,方便選擇;vrrp_script chk_haproxy {     script "/etc/keepalived/chkmysql.sh"  #具體腳本路徑     interval 2  #腳本循環運行間隔}#VRRP虛擬路由冗余協議配置vrrp_instance VI_1 {   #VI_1 是自定義的名稱;     state BACKUP    #MASTER表示是一臺主設備,BACKUP表示為備用設備【我們這里因為設置為開啟不搶占,所以都設置為備用】     nopreempt      #開啟不搶占     interface eth0   #指定VIP需要綁定的物理網卡     virtual_router_id 11   #VRID虛擬路由標識,也叫做分組名稱,該組內的設備需要相同     priority 130   #定義這臺設備的優先級 1-254;開啟了不搶占,所以此處優先級必須高于另一臺      advert_int 1   #生存檢測時的組播信息發送間隔,組內一致     authentication {    #設置驗證信息,組內一致         auth_type PASS   #有PASS 和 AH 兩種,常用 PASS         auth_pass asd    #密碼     }     virtual_ipaddress {         172.23.252.200    #指定VIP地址,組內一致,可以設置多個IP     }     track_script {    #使用在這個域中使用預先定義的腳本,上面定義的         chk_haproxy    }      #notify_backup "/etc/init.d/haproxy restart"   #表示當切換到backup狀態時,要執行的腳本     #notify_fault "/etc/init.d/haproxy stop"     #故障時執行的腳本}

/etc/keepalived/chkmysql.sh

$ cat /etc/keepalived/chkmysql.s.sh#!/bin/bashmysql -uroot -proot -P 3314 -e "show status;" > /dev/null 2>&1if [ $? == 0 ];then         echo "$host mysql login successfully"         exit 0else         echo "$host login failed"         killall keepalived        exit 2fi

推薦學習:mysql視頻教程

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
gmnon.cn-疯狂蹂躏欧美一区二区精品,欧美精品久久久久a,高清在线视频日韩欧美,日韩免费av一区二区
在线成人免费av| 亚洲成人av免费看| 污视频在线观看免费网站| 国产精品va无码一区二区| 喜爱夜蒲2在线| 婷婷中文字幕在线观看| 国产三级国产精品国产专区50| 免费看国产曰批40分钟| 野外做受又硬又粗又大视频√| aaa免费在线观看| 欧美日韩一区二区三区电影| 网站在线你懂的| 国产又黄又爽免费视频| 青青草原网站在线观看| 99久久久无码国产精品性色戒| 不卡中文字幕在线观看| 午夜av中文字幕| 在线观看视频黄色| 日本大胆人体视频| 日韩日韩日韩日韩日韩| 欧美一级在线看| 自拍偷拍21p| 国内自拍中文字幕| 日韩精品久久一区二区| 91精品91久久久中77777老牛| 国产最新免费视频| 天天综合网久久| 欧美少妇一级片| 国产96在线 | 亚洲| 可以在线看的黄色网址| 九九热免费在线观看| 国产一二三四区在线观看| www.av毛片| 天堂av8在线| 成人短视频在线观看免费| 美女福利视频在线| а 天堂 在线| 欧美 日本 亚洲| 男人午夜视频在线观看| 搞av.com| 亚洲天堂av一区二区| 国产主播自拍av| 成人性生生活性生交12| 日韩av加勒比| 欧美亚洲日本在线观看| 久久精品国产露脸对白| av免费观看大全| 欧美性受xxxx黒人xyx性爽| 精品无码国产一区二区三区av| 国产一区二区视频免费在线观看 | 那种视频在线观看| 国产中文字幕在线免费观看| 大桥未久一区二区| 国产天堂在线播放| 欧美三级午夜理伦三级老人| 日本三日本三级少妇三级66| bt天堂新版中文在线地址| xx欧美撒尿嘘撒尿xx| 国产九九九九九| 激情五月六月婷婷| 亚洲 欧洲 日韩| 精品国产乱码久久久久久1区二区| 国产精品12345| 精品久久久久久无码中文野结衣| 日本高清久久久| 亚洲国产高清av| 高潮一区二区三区| 精品久久久久久中文字幕2017| 波多野结衣家庭教师在线| 国产 欧美 日本| 中文字幕乱码免费| 中文字幕一区久久| 91pony九色| 黄色片免费网址| 国产探花在线观看视频| 青春草在线视频免费观看| 永久免费黄色片| 一区中文字幕在线观看| 熟女视频一区二区三区| 久久这里只有精品8| 欧美日韩中文字幕在线播放 | 男人舔女人下面高潮视频| 欧美丰满熟妇bbbbbb百度| 天天夜碰日日摸日日澡性色av| 无码中文字幕色专区| 播放灌醉水嫩大学生国内精品| 国产精品免费成人| 激情内射人妻1区2区3区| 亚洲一区二区福利视频| 欧美日韩一区二区三区电影| 成人在线视频一区二区三区| 日日碰狠狠添天天爽超碰97| 亚洲国产精品久久久久婷蜜芽| www.xxx亚洲| 深爱五月综合网| 国产97在线 | 亚洲| 性刺激的欧美三级视频| eeuss中文| 999精品网站| 亚洲天堂av免费在线观看| 国产 日韩 欧美在线| 久久婷婷综合色| 国内精品视频一区二区三区| 国产一线二线三线在线观看| 懂色av粉嫩av蜜臀av| 国产原创中文在线观看| 粉色视频免费看| 日韩中文字幕三区| 今天免费高清在线观看国语| 亚洲爆乳无码专区| 日韩第一页在线观看| 久久精品午夜福利| 成年在线观看视频| 九九热精品在线播放| 各处沟厕大尺度偷拍女厕嘘嘘| 一二三av在线| 成人亚洲视频在线观看| 欧美国产亚洲一区| 中文字幕の友人北条麻妃| 欧美伦理片在线观看| 欧美 日本 亚洲| 日韩精品在线观看av| 亚洲第一成肉网| 中文字幕第100页| 日韩视频第二页| 欧美一级在线看| 久久久久久久久久久视频| 国产成人艳妇aa视频在线| 中文精品无码中文字幕无码专区| 屁屁影院ccyy国产第一页| 波多结衣在线观看| 3d动漫一区二区三区| 黄色一级片av| 国产盗摄视频在线观看| 精品中文字幕av| 国产日产欧美视频| 男人插女人视频在线观看| 97超碰国产精品| 国产成人生活片| 亚洲一区 在线播放| 日韩精品福利片午夜免费观看| 一级日本黄色片| 国产一级片中文字幕| 1314成人网| 日韩日韩日韩日韩日韩| 波多野结衣综合网| 看av免费毛片手机播放| 久久久久国产精品熟女影院| 狠狠躁狠狠躁视频专区| 不卡的在线视频| 国产盗摄视频在线观看| 岛国大片在线播放| 日本在线观看a| 日本黄大片一区二区三区| 午夜大片在线观看| 97碰在线视频| 免费看国产黄色片| 污免费在线观看| 国产素人在线观看| 成人性生生活性生交12| 亚洲制服在线观看| 亚洲熟妇无码另类久久久| 丰满少妇在线观看| 欧美日韩激情四射| 免费日韩视频在线观看| 992kp免费看片| 国产在线播放观看| 午夜国产一区二区三区| 日本福利视频网站| 少妇黄色一级片| 91亚洲精品国产| 九九热免费在线观看| 欧美国产日韩激情| 91女神在线观看| 午夜精品久久久久久久无码| 成人不卡免费视频| 国产精品沙发午睡系列| 一本二本三本亚洲码| 国产日韩成人内射视频| 99热一区二区三区| 日韩精品你懂的| 久久精品国产sm调教网站演员| 一级黄色在线播放| 国产主播在线看| 国产精品igao激情视频| 污污的视频免费| 男女视频一区二区三区| 男人天堂手机在线视频| 特色特色大片在线| 国产a级片免费看| 国产成人美女视频| 久久精品免费网站| 男人透女人免费视频| 国产精品久久久久9999爆乳| 亚洲一区二区图片| 激情在线观看视频| 午夜av中文字幕| 三区视频在线观看| 国产欧美精品一二三| 永久免费的av网站|