日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql主备在同一台_MySQL高可用(一)主备同步:MySQL是如何保证主备一致的

發布時間:2025/4/5 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql主备在同一台_MySQL高可用(一)主备同步:MySQL是如何保证主备一致的 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

主備同步,也叫主從復制,是MySQL提供的一種高可用的解決方案,保證主備數據一致性的解決方案。

在生產環境中,會有很多不可控因素,例如數據庫服務掛了。為了保證應用的高可用,數據庫也必須要是高可用的。

因此在生產環境中,都會采用主備同步。在應用的規模不大的情況下,一般會采用一主一備。

除了上面提到的數據庫服務掛了,能夠快速切換到備庫,避免應用的不可用外,采用主備同步還有以下好處:

提升數據庫的讀并發性,大多數應用都是讀比寫要多,采用主備同步方案,當使用規模越來越大的時候,可以擴展備庫來提升讀能力。

備份,主備同步可以得到一份實時的完整的備份數據庫。

快速恢復,當主庫出錯了(比如誤刪表),通過備庫來快速恢復數據。對于規模很大的應用,對于數據恢復速度的容忍性很低的情況,通過配置一臺與主庫的數據快照相隔半小時的備庫,當主庫誤刪表,就可以通過備庫和binlog來快速恢復,最多等待半小時。

說了主備同步是什么和好處,下面讓我們來了解一下主備同步是怎么實現的。

主備同步的實現原理

我們先來了解一下主備同步的原理,下面以一個update語句來介紹主庫與備庫間是如何進行同步的。

上圖是一個update語句在節點A執行,然后同步到節點B的完整流程圖,具體步驟有:

主庫接受到客戶端發送的一條update語句,執行內部事務邏輯,同時寫binlog。

備庫通過 change master 命令,設置主庫的IP、端口、用戶名和密碼,以及要從哪個位置開始請求 binlog。這個位置包含文件名和偏移量。

在備庫上執行start slave命令,啟動兩個線程 io_thread 和 sql_thread,其中 io_thread 負責與主機進行連接。

主庫校驗完用戶名和密碼,按照接收到的位置去讀取binlog,發給備庫。

備庫接收到binlog后,寫到本地文件(relay log,中轉文件)。

備庫讀取中轉文件,解析出命令,然后執行。

主備同步的工作原理其實就是一個完全備份加上二進制日志備份的還原。不同的是這個二進制日志的還原操作基本上是實時的。

備庫通過兩個線程來實現同步:

一個是 I/O 線程,負責讀取主庫的二進制日志,并將其保存為中繼日志。

一個是 SQL 線程,負責執行中繼日志。

從上面的流程可以看出,主備同步的關鍵是binlog,在前面的文章里也有介紹過binlog的相關內容,感興趣的小伙伴可以點擊查看。

常見的兩種主備切換流程

M-S結構

M-S結構,兩個節點,一個當主庫、一個當備庫,不允許兩個節點互換角色。

在狀態1中,客戶端的讀寫都直接訪問節點A,而節點B是A的備庫,只是將A的更新都同步過來,到本地執行。這樣可以保持節點B和A的數據是相同的。

當需要切換的時候,就切成狀態2。這時候客戶端讀寫訪問的都是節點B,而節點A是B的備庫。

雙M結構

雙M結構,兩個節點,一個當主庫,一個當備庫,允許兩個節點互換角色。

對比前面的M-S結構圖,可以發現,雙M結構和M-S結構,其實區別只是多了一條線,即節點A和B之間總是互為主備關系。這樣在切換的時候就不用再修改主備關系。

雙M結構的循環復制問題

在實際生產使用中,多數情況是使用雙M結構的。但是,雙M結構還有一個問題需要解決。

業務邏輯在節點A執行更新,會生成binlog并同步到節點B。節點B同步完成后,也會生成binlog。(log_slave_updates設置為on,表示備庫也會生成binlog)。

當節點A同時也是節點B的備庫時,節點B的binlog也會發送給節點A,造成循環復制。

解決辦法:

設置節點的server-id,必須不同,不然不允許設置為主備結構

備庫在接到binlog后重放時,會記錄原記錄相同的server-id,即誰產生即為誰的。

每個節點在接受binlog時,會判斷server-id,如果是自己的就丟掉。

解決后的流程:

業務邏輯在節點A執行更新,會生成帶有節點A的server-id的binlog。

節點B接受到節點A發過來的binlog,并執行完成后,會生成帶有節點A的server-id的binlog。

節點A接受到binlog后,發現是自己的,就丟掉。死循環就在這里斷掉了。

參考資料

總結

以上是生活随笔為你收集整理的mysql主备在同一台_MySQL高可用(一)主备同步:MySQL是如何保证主备一致的的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产黄色91 | 国产一在线观看 | 欧美日日骚 | 免费做a爰片77777 | 欧美另类极品 | 久久只有这里有精品 | 1级黄色大片儿 | 久草国产在线视频 | 久久三级 | 国产黄色观看 | 少妇人妻一级a毛片 | 青青草社区视频 | 精品乱码一区二区三区四区 | 麻豆网| 啪啪一级片| 九色精品视频 | 色黄视频在线观看 | 91春色 | 亚洲欧美一区二区三区久久 | 成人天堂网 | 好好热视频 | 亚洲av无码国产综合专区 | 开心色站| 日本精品一区二区三区四区的功能 | 吸咬奶头狂揉60分钟视频 | 毛片视频免费播放 | 国产麻豆一区二区三区在线观看 | 一区二区在线观看视频 | 美女毛片视频 | 在线免费观看污视频 | 天天综合久久 | 成人免费毛片网 | 人妻精品久久久久中文字幕69 | aaaaa毛片| 自拍偷拍亚洲综合 | 亚洲最大在线视频 | 久久五月网| 神马午夜场 | 亚洲无限观看 | 国产亚洲一区二区三区四区 | 饥渴少妇勾引水电工av | 国产免费无码XXXXX视频 | 蜜臀精品 | 蜜臀aⅴ免费一区二区 | 日韩乱码人妻无码系列中文字幕 | 暖暖免费观看日本版 | 国产精品女人久久久 | 欧美激情图区 | 91啪在线 | 秋霞一级全黄大片 | 欧美日韩一级大片 | 极品一区| 欧美日韩激情网 | 永久免费的网站入口 | 欧美亚洲网站 | 一区二区视 | 综合色天天 | 国产性猛交96 | 亚洲精品视频一区二区 | 男男巨肉啪啪动漫3d | 午夜日韩| 91精品国产综合久久香蕉922 | 日韩成人在线观看视频 | 小泽玛利亚一区二区三区在线观看 | 五月天av网 | 吃瓜网今日吃瓜 热门大瓜 色婷在线 | a视频在线观看免费 | 思思99热 | 亚洲人成一区 | 亚洲精品一区二区三区蜜臀 | 国产视频123 | 日日夜夜爽爽 | 激情五月激情综合 | 免费在线激情视频 | 136fldh导航福利微拍 | 亚洲欧洲成人精品久久一码二码 | 欧美伦理在线观看 | 男女猛烈无遮挡免费视频 | 精品亚洲成人 | 国产精品久久久久久久天堂 | www..com国产 | 国产伦精品一区二区三区免费视频 | 欧美做爰性生交视频 | 色多多av| 国产女人高潮视频 | 入禽太深免费视频 | 免费欧美黄色 | 国产女主播在线观看 | 精品日韩在线播放 | 婷婷激情丁香 | 欧美性生活 | 亚洲精品v | 久久在线一区二区 | 黄色工厂这里只有精品 | 日韩视频在线观看一区二区三区 | 男人用嘴添女人下身免费视频 | 人妻少妇一区 | 伊人网视频 | 欧美在线播放一区 |