精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

MySQL 主從,六分鐘帶你掌握!

數據庫 MySQL
對于數據庫單機部署,在 4 核 8G 的機器上運行 MySQL 5.7 時,大概可以支撐 500 的 TPS 和 10000 的 QPS,當遇到一些活動時,查詢流量驟然,就需要進行主從分離。

大家好,我是樓仔!

MySQL 主從一直是面試???,里面的知識點雖然基礎,但是能回答全的同學不多。

比如我之前面試小米,就被問到過主從復制的原理,以及主從延遲的解決方案,你之前面試,有遇到過哪些 MySQL 主從的問題呢?

1. MySQL 主從

1.1 什么是 MySQL 主從 ?

所謂 MySQL 主從,就是建立兩個完全一樣的數據庫,一個是主庫,一個是從庫,主庫對外提供讀寫的操作,從庫對外提供讀的操作。

圖片

1.2 為什么使用 MySQL 主從 ?

對于數據庫單機部署,在 4 核 8G 的機器上運行 MySQL 5.7 時,大概可以支撐 500 的 TPS 和
10000 的 QPS,當遇到一些活動時,查詢流量驟然,就需要進行主從分離。

大部分系統的訪問模型是讀多寫少,讀寫請求量的差距可能達到幾個數量級,所以我們可以通過一主多從的方式,主庫只負責寫入和部分核心邏輯的查詢,多個從庫只負責查詢,提升查詢性能,降低主庫壓力。

當主庫宕機時,從庫可以切成主庫,保證服務的高可用,然后主庫也可以做數據的容災備份,整體場景總結如下:

  • 讀寫分離:從庫提供查詢,減少主庫壓力,提升性能;
  • 高可用:故障時可切換從庫,保證服務高可用;
  • 數據備份:數據備份到從庫,防止服務器宕機導致數據丟失。

2. 主從復制

2.1 主從復制原理

MySQL 的主從復制是依賴于 binlog,也就是記錄 MySQL 上的所有變化并以二進制形式保存在磁盤上二進制日志文件。

主從復制就是將 binlog 中的數據從主庫傳輸到從庫上,一般這個過程是異步的,即主庫上的操作不會等待 binlog 同步地完成。

圖片

詳細流程如下:

  • 主庫寫 binlog:主庫的更新 SQL(update、insert、delete) 被寫到 binlog;
  • 主庫發送 binlog:主庫創建一個 log dump 線程來發送 binlog 給從庫;
  • 從庫寫 relay log:從庫在連接到主節點時會創建一個 IO 線程,以請求主庫更新的 binlog,并且把接收到的 binlog 信息寫入一個叫做
    relay log 的日志文件;
  • 從庫回放:從庫還會創建一個 SQL 線程讀取 relay log 中的內容,并且在從庫中做回放,最終實現主從的一致性。

2.2 如何保證主從一致

當主庫和從庫數據同步時,突然中斷怎么辦?因為主庫與從庫之間維持了一個長鏈接,主庫內部有一個線程,專門服務于從庫的這個長鏈接。

對于下面的情況,假如主庫執行如下 SQL,其中 a 和 create_time 都是索引:

delete from t where a > '666' and create_time<'2022-03-01' limit 1;

我們知道,數據選擇了 a 索引和選擇 create_time 索引,最后 limit 1 出來的數據一般是不一樣的。

所以就會存在這種情況:在 binlog = statement 格式時,主庫在執行這條 SQL 時,使用的是索引 a,而從庫在執行這條 SQL
時,使用了索引 create_time,最后主從數據不一致了。

那么我們該如何解決呢?

可以把 binlog 格式修改為 row,row 格式的 binlog 日志記錄的不是 SQL 原文,而是兩個 event:Table_map 和
Delete_rows。

Table_map event 說明要操作的表,Delete_rows event用于定義要刪除的行為,記錄刪除的具體行數。row 格式的 binlog
記錄的就是要刪除的主鍵 ID 信息,因此不會出現主從不一致的問題。

但是如果 SQL 刪除 10 萬行數據,使用 row 格式就會很占空間,10 萬條數據都在 binlog 里面,寫 binlog 的時候也很耗 IO。但是
statement 格式的 binlog 可能會導致數據不一致。

設計 MySQL 的大叔想了一個折中的方案,mixed 格式的 binlog,其實就是 row 和 statement 格式混合使用,當 MySQL
判斷可能數據不一致時,就用 row 格式,否則使用就用 statement 格式。

3. 主從延遲

有時候我們遇到從數據庫中獲取不到信息的詭異問題時,會糾結于代碼中是否有一些邏輯會把之前寫入的內容刪除,但是你又會發現,過了一段時間再去查詢時又可以讀到數據了,這基本上就是主從延遲在作怪。

主從延遲,其實就是“從庫回放” 完成的時間,與 “主庫寫 binlog” 完成時間的差值,會導致從庫查詢的數據,和主庫的不一致。

3.1 主從延遲原理

談到 MySQL 數據庫主從同步延遲原理,得從 MySQL 的主從復制原理說起:

  • MySQL 的主從復制都是單線程的操作,主庫對所有 DDL 和 DML 產生 binlog,binlog 是順序寫,所以效率很高;
  • Slave 的 Slave_IO_Running 線程會到主庫取日志,放入 relay log,效率會比較高;
  • Slave 的 Slave_SQL_Running 線程將主庫的 DDL 和 DML 操作都在 Slave 實施,DML 和 DDL 的 IO 操作是隨機的,不是順序的,因此成本會很高,還可能是 Slave 上的其他查詢產生 lock 爭用,由于 Slave_SQL_Running 也是單線程的,所以一個 DDL 卡主了,需要執行 10 分鐘,那么所有之后的 DDL 會等待這個 DDL 執行完才會繼續執行,這就導致了延時。

總結一下主從延遲的主要原因:主從延遲主要是出現在 “relay log 回放” 這一步,當主庫的 TPS 并發較高,產生的 DDL 數量超過從庫一個
SQL 線程所能承受的范圍,那么延時就產生了,當然還有就是可能與從庫的大型 query 語句產生了鎖等待。

3.2 主從延遲情況

  • 從庫機器性能:從庫機器比主庫的機器性能差,只需選擇主從庫一樣規格的機器就好。
  • 從庫壓力大:可以搞了一主多從的架構,還可以把 binlog 接入到 Hadoop 這類系統,讓它們提供查詢的能力。
  • 從庫過多:要避免復制的從節點數量過多,從庫數據一般以3-5個為宜。
  • 大事務:如果一個事務執行就要 10 分鐘,那么主庫執行完后,給到從庫執行,最后這個事務可能就會導致從庫延遲 10 分鐘啦。日常開發中,不要一次性
    delete 太多 SQL,需要分批進行,另外大表的 DDL 語句,也會導致大事務。
  • 網絡延遲:優化網絡,比如帶寬 20M 升級到 100M。
  • MySQL 版本低:低版本的 MySQL 只支持單線程復制,如果主庫并發高,來不及傳送到從庫,就會導致延遲,可以換用更高版本的
    MySQL,支持多線程復制。

3.3 主從延遲解決方案

我們一般會把從庫落后的時間作為一個重點的數據庫指標做監控和報警,正常的時間是在毫秒級別,一旦落后的時間達到了秒級別就需要告警了。

解決該問題的方法,除了縮短主從延遲的時間,還有一些其它的方法,基本原理都是盡量不查詢從庫,具體解決方案如下:

  • 使用緩存:我們在同步寫數據庫的同時,也把數據寫到緩存,查詢數據時,會先查詢緩存,不過這種情況會帶來 MySQL 和 Redis 數據一致性問題。
  • 查詢主庫:直接查詢主庫,這種情況會給主庫太大壓力,不建議這種方式。
  • 數據冗余:對于一些異步處理的場景,如果只扔數據 ID,消費數據時,需要查詢從庫,我們可以把數據全部都扔給消息隊列,這樣消費者就無需再查詢從庫。(這種情況應該不太能出現,數據轉了一圈,MySQL 主從還沒有同步好,直接去撕 DBA 吧)

在實際應用場景中,對于一些非常核心的場景,比如庫存,支付訂單等,需要直接查詢從庫,其它非核心場景,就不要去查主庫了。

4. 主從切換

4.1 一主一從

兩臺機器 A 和 B,A 為主庫,負責讀寫,B 為從庫,負責讀數據。

如果 A 庫發生故障,B 庫成為主庫負責讀寫,修復故障后,A 成為從庫,主庫 B 同步數據到從庫 A。

圖片

優點:從庫支持讀,分擔了主庫的壓力,提升了并發度,且一個機器故障了可以自動切換,操作比較簡單,公司從庫還可以充當數據備份的角色;

缺點:一臺從庫,并發支持還是不夠,并且一共兩臺機器,還是存在同時故障的機率,不夠高可用。

對于一主一從的模式,一般小公司會這么用,不過該模式下,主從分離的意義其實并不大,因為小公司的流量不高,更多是為了數據庫的可用性,以及數據備份。

4.2 一主多從一臺主庫多臺從庫,A 為主庫,負責讀寫,B、C、D為從庫,負責讀數據。

如果 A 庫發生故障,B 庫成為主庫負責讀寫,C、D 負責讀,修復故障后,A 也成為從庫,主庫 B 同步數據到從庫 A。

圖片

  • 優點:多個從庫支持讀,分擔了主庫的壓力,明顯提升了讀的并發度。
  • 缺點:只有臺主機寫,因此寫的并發度不高。

基本上大公司,比如百度、滴滴,都是這種一主多從的模式,因為查詢流量太高,一定需要進行讀寫分離,同時也需要支持服務的高可用、數據容災。

責任編輯:武曉燕 來源: 樓仔
相關推薦

2022-07-04 08:01:16

OSPFRIPBGP

2009-11-10 17:27:01

Oracle全表掃描

2009-10-27 17:22:27

2025-01-24 08:38:47

2024-04-18 08:19:22

數據庫運維工具

2021-01-13 09:23:23

優先隊列React二叉堆

2017-01-10 09:07:53

tcpdumpGET請求

2024-10-25 15:56:20

2025-03-13 06:22:59

2022-06-17 08:05:28

Grafana監控儀表盤系統

2015-09-21 10:16:37

阿里云心電數據大數據

2021-06-07 09:51:22

原型模式序列化

2021-10-19 07:27:08

HTTP代理網絡

2009-11-17 14:50:50

Oracle調優

2021-06-18 07:34:12

Kafka中間件微服務

2020-09-14 11:30:26

HTTP3運維互聯網

2020-10-13 18:22:58

DevOps工具開發

2019-12-23 16:42:44

JavaScript前端開發

2019-05-08 14:02:52

MySQL索引查詢優化數據庫

2021-03-12 09:45:00

Python關聯規則算法
點贊
收藏

51CTO技術棧公眾號

国产成人高清在线| 欧美亚洲国产激情| 亚洲网友自拍偷拍| 成人做爰66片免费看网站| 久久久久久久久精| 风间由美一区二区av101 | 扒开伸进免费视频| av在线网页| 91亚洲精品一区二区乱码| 欧美一级在线播放| 久久精品三级视频| 九九99久久精品在免费线bt| 亚洲女同一区二区| 极品尤物一区二区三区| 国产亚洲欧美日韩高清| 亚洲国产老妈| 日韩av最新在线| 午夜在线观看av| 影音先锋中文在线视频| 成人久久久精品乱码一区二区三区| 久久全球大尺度高清视频| 无码人妻aⅴ一区二区三区| 国产韩日精品| 亚洲欧美另类小说| 免费观看成人在线| 影音先锋国产资源| 亚洲第一网站| 日韩视频一区在线| 亚洲AV无码国产精品| 九九九精品视频| 亚洲成在线观看| 亚洲国产激情一区二区三区| 性做久久久久久久久久| 日本女优在线视频一区二区| 久久99国产综合精品女同| b站大片免费直播| 亚洲乱码一区| 欧美日韩综合色| www黄色日本| 69xxx在线| 国产精品萝li| 你懂的网址一区二区三区| 国产精品视频第一页| 久久精品欧洲| 日韩中文字幕视频| 女人被狂躁c到高潮| 免费观看亚洲天堂| 欧美日韩午夜在线视频| av片在线免费| 男人和女人做事情在线视频网站免费观看| 不卡视频一二三| 92福利视频午夜1000合集在线观看| 一本一道无码中文字幕精品热| 午夜日韩在线| 久久久999精品| 调教驯服丰满美艳麻麻在线视频| 欧美人妖视频| 日韩三级视频在线看| 日韩av手机版| 日本少妇一区| 色噜噜狠狠成人中文综合| 欧美黑人经典片免费观看| 黄色片网站在线| 国产精品网站在线播放| 日韩欧美一区二区视频在线播放| 日韩av资源| 97久久精品人人做人人爽50路| 91久久国产综合久久蜜月精品| 在线观看国产黄| 蜜桃久久久久久久| 国产精品jvid在线观看蜜臀 | 在线观看国产精品入口| 神马久久桃色视频| 在线日韩国产网站| 欧美a级片视频| 日韩视频第一页| 污污的视频在线免费观看| 99视频精品视频高清免费| 中文字幕久久亚洲| 蜜桃av免费观看| 91精品亚洲| 一本色道久久88综合亚洲精品ⅰ| 毛片网站免费观看| 精品国产一区二区三区噜噜噜 | 三上悠亚av一区二区三区| 成人交换视频| 欧美一区二区网站| 亚洲精品乱码久久久久久9色| 国产视频一区二区在线播放| 日韩一区二区在线观看视频播放| 91丨porny丨九色| 成人爽a毛片免费啪啪红桃视频| 欧美美女bb生活片| 可以看的av网址| 亚洲三级精品| 中文字幕亚洲欧美| 欧美特级一级片| 亚洲经典在线看| 日韩av电影手机在线观看| 天天做天天爱夜夜爽| 日韩中文欧美在线| 91精品视频免费看| 日本高清视频网站| 成人av在线资源网站| 欧美精品一区三区在线观看| 国产福利在线观看| 亚洲精品日韩综合观看成人91| 人人妻人人澡人人爽欧美一区双 | 亚洲品质自拍| 色婷婷**av毛片一区| 婷婷色中文字幕| 国产精品综合| 成人网欧美在线视频| 三级在线观看网站| 国产精品妹子av| 女人帮男人橹视频播放| 午夜精品成人av| 3751色影院一区二区三区| 日本护士做爰视频| 日本成人小视频| 久久免费在线观看| 一级片aaaa| 91在线视频网址| 在线天堂一区av电影| 丁香花电影在线观看完整版| 欧美日韩综合在线免费观看| 91精品又粗又猛又爽| 日韩片欧美片| 欧美一区二区三区精品电影| 国产精品国产一区二区三区四区| 94色蜜桃网一区二区三区| 99精品一级欧美片免费播放| 午夜精品久久久久久久久久蜜桃| 欧美日韩成人一区| 亚洲永久精品ww.7491进入| 欧美激情日韩| 国产精品一久久香蕉国产线看观看| 亚洲AV无码一区二区三区性| 国产精品污污网站在线观看| 美女日批免费视频| 我要色综合中文字幕| 在线a欧美视频| 国产午夜性春猛交ⅹxxx| 国产精品一二三区| 宅男一区二区三区| 日韩漫画puputoon| 亚洲大胆人体av| 午夜国产福利一区二区| 麻豆精品国产传媒mv男同| 精品欧美一区二区久久久伦| 神马午夜伦理不卡| 3d成人h动漫网站入口| 美国美女黄色片| 久久综合婷婷| 欧美不卡三区| 国产乱码精品一区二三赶尸艳谈| 日韩一二在线观看| 国语对白在线播放| 国产在线一区观看| 中文字幕欧美日韩一区二区三区| 台湾成人免费视频| 亚洲天堂av在线免费观看| 日本中文字幕久久| 国产亚洲欧美激情| 久久午夜夜伦鲁鲁一区二区| 九九久久婷婷| 国产福利视频一区二区| 国产在线视频网站| 在线看国产一区二区| 熟女俱乐部一区二区| 另类天堂av| 欧美一区1区三区3区公司 | 亚洲一区二区三区精品动漫| 91精品xxx在线观看| 亚洲日韩欧美视频一区| 一级黄色在线观看| 国产精品国产三级国产三级人妇 | 国产自偷自偷免费一区| 午夜欧洲一区| 国产精品久久9| 99riav在线| 88在线观看91蜜桃国自产| 亚洲综合视频网站| 高清不卡一区二区| 欧美 日韩 亚洲 一区| 日韩欧美黄色| 日韩免费在线播放| 中文日本在线观看| 欧美一区二区在线看| 亚洲一区二区91| 99久久99久久综合| 久久美女福利视频| 日产精品一区二区| 亚洲www在线观看| www在线观看播放免费视频日本| 日韩无一区二区| 欧美三级午夜理伦| 国产精品午夜电影| 91精品人妻一区二区三区蜜桃2 | 久久精品最新地址| 亚洲成人一二三区| 色综合天天综合网国产成人综合天| 国产交换配乱淫视频免费| 另类小说一区二区三区| 激情图片qvod| 美女一区二区在线观看| 国产在线精品成人一区二区三区| 97人人爽人人澡人人精品| 在线成人中文字幕| 天堂av在线免费| 日韩一区二区三区免费看| 国产真人无遮挡作爱免费视频| 一区二区在线电影| 国产小视频你懂的| 91啦中文在线观看| 91av免费观看| 毛片不卡一区二区| 99精品视频在线看| 精品福利av| 台湾无码一区二区| 99久久久国产精品美女| 日韩av图片| 窝窝社区一区二区| 国产精品视频一区二区三区经| 亚洲狼人综合| 国产精品久久久久久久久久小说| 麻豆网站免费在线观看| 欧美高清视频在线观看| 好操啊在线观看免费视频| 一区二区三区视频免费在线观看 | 韩国三级大全久久网站| 国产精品免费小视频| 向日葵视频成人app网址| 日韩av片电影专区| 成人爽a毛片免费啪啪| 91国偷自产一区二区三区的观看方式| 在线黄色网页| 欧美成人免费小视频| 成视频免费观看在线看| 北条麻妃一区二区三区中文字幕| av中文字幕在线| 国产亚洲免费的视频看| 福利在线播放| 中文字幕欧美日韩精品| 男人在线资源站| 久久中国妇女中文字幕| 国产日产一区二区三区| 欧美成人精品在线视频| 1区2区在线观看| 欧美久久精品午夜青青大伊人| 国产剧情在线| 久久99青青精品免费观看| 97影院秋霞午夜在线观看| 欧美刺激性大交免费视频| 久草免费在线色站| 国内精品久久影院| 免费毛片b在线观看| 欧洲亚洲妇女av| 91在线成人| 成人在线一区二区| 亚洲三级av| 精品国产中文字幕| 欧美日韩激情| 黄色录像特级片| 国产综合色产| 免费黄色日本网站| 美女尤物国产一区| 欧美一级大片免费看| av亚洲精华国产精华精华| 国产精品1000部啪视频| 欧美高清在线一区二区| 男的操女的网站| 无吗不卡中文字幕| 国产一级片免费在线观看| 欧美麻豆精品久久久久久| 亚洲AV无码乱码国产精品牛牛| 日韩精品极品在线观看播放免费视频| 欧美色18zzzzxxxxx| 日韩在线观看免费全集电视剧网站| jizzjizz亚洲| 97视频在线观看免费| 精品欧美日韩精品| 亚洲精品免费在线视频| 西瓜成人精品人成网站| 一区二区免费电影| 日韩视频久久| 亚洲精品久久久中文字幕| 成人免费高清视频| 亚洲色图27p| 偷拍与自拍一区| 91禁在线观看| 精品亚洲国产成av人片传媒| 欧美成人三区| 欧美一级成年大片在线观看 | 视频在线在亚洲| 中文字幕欧美视频| 久久精品亚洲麻豆av一区二区| 老熟妇高潮一区二区三区| 狠狠综合久久av一区二区小说| 91福利在线观看视频| 日韩精品在线视频观看| av毛片在线免费看| 国产精品成熟老女人| av不卡一区| 先锋影音一区二区三区| 亚洲国产黄色| 亚洲精品乱码久久久久久动漫| 26uuu另类欧美亚洲曰本| 欧美毛片在线观看| 欧美午夜寂寞影院| 亚洲av电影一区| 欧美国产一区二区三区| 色8久久久久| 欧美专区一二三| 夜夜爽av福利精品导航| 岛国精品一区二区三区| 最新国产成人在线观看| 91麻豆精品在线| 亚洲精品永久免费| av中文字幕在线观看第一页 | 亚洲一区视频在线| 一级片在线免费观看视频| 亚洲欧美日韩精品久久| 黄色在线网站噜噜噜| 国产乱码精品一区二区三区日韩精品| 久久亚洲国产| 日本肉体xxxx裸体xxx免费| 久久亚区不卡日本| 日本少妇在线观看| 精品国产乱码久久久久久久| 18视频在线观看网站| 亚洲jizzjizz日本少妇| 999久久久精品国产| 亚洲精品久久久中文字幕| 国产精品网站在线播放| 中文字幕第一页在线播放| 伊人久久久久久久久久久久久| 一区二区精品伦理...| 精品一区二区视频| 亚洲激情专区| av无码av天天av天天爽| 午夜精品福利一区二区三区av | 成人国产免费视频| 久久婷婷综合国产| 欧美精品一区二区三区蜜桃 | 欧美日韩在线视频一区| 天堂在线资源8| 97视频在线观看网址| 精品综合久久88少妇激情| 欧美视频免费看欧美视频| 丁香亚洲综合激情啪啪综合| 免费中文字幕视频| 精品免费视频.| 成人免费网站观看| 久久综合久久综合这里只有精品| 亚洲一卡久久| 手机看片日韩av| 69成人精品免费视频| 在线中文字幕视频观看| 国产一区二区高清不卡| 国产精品美女久久久| av男人的天堂av| 欧美三级在线播放| 自拍亚洲图区| 国内一区二区在线视频观看| 男女精品网站| 蜜桃av免费在线观看| 日韩欧美一级在线播放| 超碰在线公开| 日韩一区不卡| 韩国av一区二区三区四区| 久久亚洲av午夜福利精品一区| 亚洲国产小视频在线观看| 欧美性猛交xxx高清大费中文| 亚洲激情电影在线| 国产精品1区2区3区| 国产在线观看黄色| 久久久国产精品亚洲一区| 成人激情自拍| 无码内射中文字幕岛国片| 亚洲视频资源在线| 午夜成人免费影院| 国产精品免费小视频| 激情偷拍久久| 四虎成人免费影院| 日韩精品一区二区三区在线| 成人直播视频| 9色视频在线观看| 久久午夜国产精品| 国产女人高潮时对白| 欧美在线国产精品| 在线看片不卡| 久久久久久久久久久久久久久| 91精品国产手机| 另类专区亚洲| 91成人综合网| 亚洲欧洲日本在线| 黄色在线观看网| av在线不卡一区| 久久国产婷婷国产香蕉|