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

麻了,一個操作把MySQL主從復制整崩了

數據庫 MySQL
我們定位到原來是由于大事務+blob字段大致binlog非常大,最終我們采用了修改業務代碼,將blob字段單獨拆到一張表中解決。所以,在設計開發過程中,要盡量避免大事務,同時在數據庫建模的時候特別考慮將blob字段獨立成表。

前言

最近公司某項目上反饋mysql主從復制失敗,被運維部門記了一次大過,影響到了項目的驗收推進,那么究竟是什么原因導致的呢?而主從復制的原理又是什么呢?本文就對排查分析的過程做一個記錄。

主從復制原理

我們先來簡單了解下MySQL主從復制的原理。

圖片

  1. 主庫master 服務器會將 SQL 記錄通過 dump 線程寫入到 二進制日志binary log 中;
  2. 從庫slave 服務器開啟一個 io thread 線程向服務器發送請求,向 主庫master 請求 binary log。主庫master 服務器在接收到請求之后,根據偏移量將新的 binary log 發送給 slave 服務器。
  3. 從庫slave 服務器收到新的 binary log 之后,寫入到自身的 relay log 中,這就是所謂的中繼日志。
  4. 從庫slave 服務器,單獨開啟一個 sql thread 讀取 relay log 之后,寫入到自身數據中,從而保證主從的數據一致。

以上是MySQL主從復制的簡要原理,更多細節不展開討論了,根據運維反饋,主從復制失敗主要在IO線程獲取二進制日志bin log超時,一看主數據庫的binlog日志竟達到了4個G,正常情況下根據配置應該是不超過300M。

圖片

binlog寫入機制

想要了解binlog為什么達到4個G,我們來看下binlog的寫入機制。

binlog的寫入時機也非常簡單,事務執行過程中,先把日志寫到 binlog cache ,事務提交的時候,再把binlog cache寫到binlog文件中。因為一個事務的binlog不能被拆開,無論這個事務多大,也要確保一次性寫入,所以系統會給每個線程分配一個塊內存作為binlog cache。

圖片

  1. 上圖的write,是指把日志寫入到文件系統的page cache,并沒有把數據持久化到磁盤,所以速度比較快
  2. 上圖的fsync,才是將數據持久化到磁盤的操作, 生成binlog日志中

生產上MySQL中binlog中的配置max_binlog_size為250M, 而max_binlog_size是用來控制單個二進制日志大小,當前日志文件大小超過此變量時,執行切換動作。,該設置并不能嚴格控制Binlog的大小,尤其是binlog比較靠近最大值而又遇到一個比較大事務時,為了保證事務的完整性,可能不做切換日志的動作,只能將該事務的所有$QL都記錄進當前日志,直到事務結束。一般情況下可采取默認值。

所以說懷疑是不是遇到了大事務,因而我們需要看看binlog中的內容具體是哪個事務導致的。

查看binlog日志

我們可以使用mysqlbinlog這個工具來查看下binlog中的內容,具體用法參考官網:https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog.html。

  1. 查看binlog日志
./mysqlbinlog --no-defaults --base64-output=decode-rows -vv /mysqldata/mysql/binlog/mysql-bin.004816|more
  1. 以事務為單位統計binlog日志文件中占用的字節大小
./mysqlbinlog --no-defaults --base64-output=decode-rows -vv /mysqldata/mysql/binlog/mysql-bin.004816|grep GTID -B1|grep '^# at' | awk '{print $3}' | awk 'NR==1 {tmp=$1} NR>1 {print ($1-tmp, tmp, $1); tmp=$1}'|sort -n -r|more

圖片

生產中某個事務竟然占用4個G。

  1. 通過start-position和stop-position統計這個事務各個SQL占用字節大小
./mysqlbinlog --no-defaults --base64-output=decode-rows --start-positinotallow='xxxx' --stop-positinotallow='xxxxx' -vv /mysqldata/mysql/binlog/mysql-bin.004816 |grep '^# at'| awk '{print $3}' | awk 'NR==1 {tmp=$1} NR>1 {print ($1-tmp, tmp, $1); tmp=$1}'|sort -n -r|more

圖片

發現最大的一個SQL竟然占用了32M的大小,那超過10M的大概有多少個呢?

  1. 通過超過10M大小的數量
./mysqlbinlog --no-defaults --base64-output=decode-rows --start-positinotallow='xxxx' --stop-positinotallow='xxxxx' -vv /mysqldata/mysql/binlog/mysql-bin.004816|grep '^# at' | awk '{print $3}' | awk 'NR==1 {tmp=$1} NR>1 {print ($1-tmp, tmp, $1); tmp=$1}'|awk '$1>10000000 {print $0}'|wc -l

圖片

統計結果顯示竟然有200多個,毛估一下,也有近4個G了

  1. 根據pos, 我們看下究竟是什么SQL導致的
./mysqlbinlog --no-defaults --base64-output=decode-rows --start-positinotallow='xxxx' --stop-positinotallow='xxxxx' -vv /mysqldata/mysql/binlog/mysql-bin.004816|grep '^# atxxxx' -C5| grep -v '###' | more

圖片

根據sql,分析了下,這個表正好有個blob字段,統計了下blob字段總合大概有3個G大小,然后我們業務上有個導入操作,這是一個非常大的事務,會頻繁更新這表中記錄的更新時間,導致生成binlog非常大。

問題: 明明只是簡單的修改更新時間的語句,壓根沒有動blob字段,為什么生產的binlog這么大?因為生產的binlog采用的是row模式。

binlog的模式

binlog日志記錄存在3種模式,而生產使用的是row模式,它最大的特點,是很精確,你更新表中某行的任何一個字段,會記錄下整行的內容,這也就是為什么blob字段都被記錄到binlog中,導致binlog非常大。此外,binlog還有statement和mixed兩種模式。

  1. STATEMENT模式 ,基于SQL語句的復制
  • 優點: 不需要記錄每一行數據的變化,減少binlog日志量,節約IO,提高性能。
  • 缺點: 由于只記錄語句,所以,在statement level下 已經發現了有不少情況會造成MySQL的復制出現問題,主要是修改數據的時候使用了某些定的函數或者功能的時候會出現。
  1. ROW模式,基于行的復制

5.1.5版本的MySQL才開始支持,不記錄每條sql語句的上下文信息,僅記錄哪條數據被修改了,修改成什么樣了。

  • 優點: binlog中可以不記錄執行的sql語句的上下文相關的信息,僅僅只需要記錄那一條被修改。所以rowlevel的日志內容會非常清楚的記錄下每一行數據修改的細節。不會出現某些特定的情況下的存儲過程或function,以及trigger的調用和觸發無法被正確復制的問題
  • 缺點: 所有的執行的語句當記錄到日志中的時候,都將以每行記錄的修改來記錄,會產生大量的日志內容。
  1. MIXED模式

從5.1.8版本開始,MySQL提供了Mixed格式,實際上就是Statement與Row的結合。

在Mixed模式下,一般的語句修改使用statment格式保存binlog。如一些函數,statement無法完成主從復制的操作,則采用row格式保存binlog。

總結

最終分析下來,我們定位到原來是由于大事務+blob字段大致binlog非常大,最終我們采用了修改業務代碼,將blob字段單獨拆到一張表中解決。所以,在設計開發過程中,要盡量避免大事務,同時在數據庫建模的時候特別考慮將blob字段獨立成表。

責任編輯:武曉燕 來源: JAVA旭陽
相關推薦

2024-11-11 14:57:56

JWTSession微服務

2021-06-08 07:48:27

MySQL主從配置

2024-03-01 18:33:59

MySQL節點數據

2024-07-04 08:00:24

2025-02-10 10:55:16

2023-02-27 07:33:14

MySQL數據庫服務器

2020-11-16 09:30:11

Redis網絡配置

2023-09-27 08:01:29

GreatSQL項目運維

2023-03-19 22:38:12

邏輯復制PostgreSQL

2023-03-19 11:53:27

2023-07-03 08:57:45

Master服務TCP

2023-09-24 14:32:15

2020-03-12 18:56:06

MySQL主從復制數據庫

2022-12-20 08:46:41

MySQL主從復制

2025-01-15 15:47:36

2017-10-11 15:40:20

MySQL主從復制拓撲結構

2017-09-05 16:00:49

MySQL主從復制備份

2019-06-17 08:21:06

RPC框架服務

2021-07-01 18:55:39

主從復制Redis

2021-03-19 11:33:42

MySQL數據庫備份
點贊
收藏

51CTO技術棧公眾號

综合精品一区| 欧美18xxxx| 亚洲色图一区二区| 国产91精品入口17c| 圆产精品久久久久久久久久久| 香蕉一区二区| 欧美日韩的一区二区| 国产a级黄色大片| 少妇激情av一区二区| 日本vs亚洲vs韩国一区三区| 久久国产精品网站| 亚洲熟女乱综合一区二区三区| www.一区| 五月天一区二区| 亚洲v国产v| 色婷婷视频在线| 另类调教123区| 久久久久亚洲精品成人网小说| 90岁老太婆乱淫| 国产日韩欧美中文在线| 狠狠色狠色综合曰曰| 中文字幕超清在线免费观看| 亚洲aaa在线观看| 紧缚奴在线一区二区三区| 国产做受高潮69| 成人欧美一区二区三区黑人一| 免费看久久久| 91麻豆精品国产综合久久久久久| 亚洲色欲综合一区二区三区| 日本动漫同人动漫在线观看| 亚洲国产精品传媒在线观看| 国产三区精品| 国产片高清在线观看| 日韩精品91亚洲二区在线观看| 九九热最新视频//这里只有精品| 欧美18—19性高清hd4k| 亚洲动漫精品| 亚洲成人精品视频在线观看| 色偷偷中文字幕| 播放一区二区| 一本一本久久a久久精品综合麻豆| 青青视频免费在线观看| 137大胆人体在线观看| 久久先锋影音av鲁色资源 | 欧美男女视频| 欧美视频中文字幕在线| 久操网在线观看| 最新国产在线拍揄自揄视频| 中文字幕制服丝袜成人av| 人偷久久久久久久偷女厕| 亚洲AV第二区国产精品| 成人黄色国产精品网站大全在线免费观看| 成人精品一区二区三区电影黑人| 国产亚洲久一区二区| 日韩中文字幕av电影| 青青草国产精品一区二区| 啦啦啦免费高清视频在线观看| 亚洲国产欧美国产综合一区| 欧美日韩爱爱视频| 国产亚洲欧美精品久久久久久| 欧美全黄视频| 久久久这里只有精品视频| 国产亚洲精品av| 中文精品在线| 日本中文字幕久久看| 五月激情丁香网| 美女免费视频一区二区| 91精品美女在线| 精品久久久中文字幕人妻| 国产成人免费视频一区| 国产乱子伦精品| 三区在线观看| 亚洲国产成人自拍| 91手机视频在线| av免费看在线| 黑丝美女久久久| 久久久国产欧美| 日韩在线电影| 日韩欧美激情在线| 欲求不满的岳中文字幕| 精品国产一区二区三区香蕉沈先生| 在线观看精品自拍私拍| 亚洲国产精品免费在线观看| 一区二区亚洲| 国产成人精品在线播放| 国产乱码精品一区二区| 成年人国产精品| 欧美日韩一区二区视频在线| av电影在线观看一区二区三区| 综合激情成人伊人| av无码久久久久久不卡网站| 极品美女一区| 欧美精品123区| 久久久久亚洲av成人网人人软件| 西野翔中文久久精品字幕| www日韩欧美| 国产一级做a爱免费视频| 久久激情婷婷| 91久久偷偷做嫩草影院| 精华区一区二区三区| 亚洲男同性恋视频| 日韩视频第二页| 涩爱av色老久久精品偷偷鲁| 亚洲人成毛片在线播放| 久久99久久久| 视频在线观看91| 国产99在线播放| av网站在线免费播放| 午夜天堂影视香蕉久久| 奇米视频888| 日韩欧美中文字幕电影| 久久这里只有精品99| 日本久久综合网| 成人一区二区三区视频| 亚洲国产精品一区二区第四页av| av日韩国产| 777午夜精品视频在线播放| 给我看免费高清在线观看| 欧美日韩视频一区二区三区| 国产精品久久久久久av福利| 无码精品视频一区二区三区 | 日韩精品欧美激情| 亚洲国产精品免费在线观看| 青椒成人免费视频| 久久久影院一区二区三区| 亚洲色图美国十次| 欧美手机在线视频| 91成人在线免费视频| 亚洲经典在线| 不卡视频一区二区三区| 美女隐私在线观看| 欧美在线999| 欧美做受高潮6| 一区二区国产精品| 国产伦精品一区二区三区免费视频 | 国产成人精品影院| 欧美性受xxxx黑人猛交88| 最新日韩一区| 亚洲天堂色网站| 欧美精品韩国精品| 久久伊人中文字幕| 日韩欧美视频网站| 欧美电影在线观看免费| 久久久久亚洲精品| 日本激情一区二区三区| 亚洲国产一区二区三区青草影视 | 国产无遮挡又黄又爽又色视频| 成人免费视频播放| 成人免费网站入口| 成人性生交大片免费看96| 欧美高清第一页| 精品人妻少妇AV无码专区 | 色av吧综合网| 中文字幕第三页| 国产精品久久久久一区| 亚洲最大天堂网| 一本一道久久a久久精品蜜桃| 成人激情视频在线| 色网在线观看| 精品国产一区二区三区久久影院| 精品深夜av无码一区二区老年| 国产白丝网站精品污在线入口| 成人av在线播放观看| 最新国产一区二区| 性色av香蕉一区二区| 五月婷婷六月丁香综合| 色域天天综合网| 国产一二三四视频| 激情图区综合网| 国产精品videossex国产高清| 日本亚洲欧洲无免费码在线| 欧美第一黄网免费网站| 色哟哟中文字幕| 日本韩国欧美在线| 中文字幕资源站| 国产成人av资源| 国产真实乱子伦| 欧美日本成人| 成人在线国产精品| 97久久人人超碰caoprom| 国产丝袜一区二区| 国产又粗又猛视频免费| 亚洲资源中文字幕| 国产成人av一区二区三区不卡| 日本va欧美va瓶| 黄色三级中文字幕| 国产伦一区二区三区| 成人午夜激情网| 色综合桃花网| www.日韩不卡电影av| 黄频网站在线观看| 欧美视频一区在线观看| 国产精彩视频在线观看| 国产日韩精品视频一区| 国产又黄又嫩又滑又白| 首页国产欧美久久| 国产一区二区片| 成人免费在线播放| 国产精品一区免费观看| 精品美女一区| 97成人精品区在线播放| 免费a级毛片在线播放| 日韩精品视频三区| 国产福利第一页| 欧美性猛交xxxxxxxx| 国产一级淫片免费| 亚洲欧美日韩人成在线播放| 亚洲一级中文字幕| 不卡的av网站| 黑人性生活视频| 美女在线视频一区| 缅甸午夜性猛交xxxx| 91精品福利| 亚洲 国产 日韩 综合一区| 日韩母乳在线| 国产精品三区四区| 国产一区二区三区国产精品| 国产精品草莓在线免费观看| 欧美精品videossex少妇| 尤物九九久久国产精品的特点| 欧美一区二区三区成人片在线| 5858s免费视频成人| 亚洲精品一区二三区| 精品久久久久久中文字幕一区奶水 | 国产精品福利在线观看| 美女搞黄视频在线观看| 欧美日韩国产999| 国产三区视频在线观看| 中日韩美女免费视频网址在线观看| 人妻视频一区二区三区| 日韩免费视频线观看| 91麻豆国产在线| 欧美亚洲国产怡红院影院| 在线观看日韩中文字幕| 午夜亚洲国产au精品一区二区| 青青草激情视频| 亚洲欧美中日韩| 午夜激情视频在线播放| 欧美激情综合网| 免费看日本黄色片| 久久久久国产成人精品亚洲午夜| 亚洲黄色免费在线观看| proumb性欧美在线观看| 97人妻精品一区二区三区免费 | 国产高清在线一区| 日韩亚洲精品在线观看| 99在线视频播放| 欧美精品三级在线| 99精品国产一区二区| 久久爱www.| 成人h视频在线观看| 欧美电影院免费观看| 不卡视频一区二区| 美女视频亚洲色图| 免费看成人av| 精品精品久久| 在线视频亚洲自拍| 中文视频一区| 久艹在线免费观看| 国产精品久久国产愉拍| av观看免费在线| 男女视频一区二区| 亚洲网中文字幕| 豆国产96在线|亚洲| 一级欧美一级日韩片| 久久亚洲一区二区三区四区| 久操视频在线观看免费| 国产精品国产三级国产三级人妇| 国产又粗又硬又长又爽| 一区二区三区欧美亚洲| 伊人久久综合视频| 一本大道av一区二区在线播放| 中文字幕av资源| 日韩精品一区二区三区在线| 性感美女一级片| 国产香蕉一区二区三区在线视频| 日本三级在线播放完整版| 欧美黑人性视频| 天堂在线中文网官网| 国产美女久久精品| www.豆豆成人网.com| 区一区二区三区中文字幕| 91一区二区三区四区| 国产玉足脚交久久欧美| 日韩高清不卡一区二区三区| 91网址在线观看精品| 99re亚洲国产精品| 永久av免费网站| 精品久久久久久电影| 91精品国产乱码久久久久| 亚洲成人激情视频| 日本美女高清在线观看免费| 97免费视频在线| 四虎国产精品免费久久| 国产尤物99| 99精品视频在线| 欧美日韩在线一| 国产综合一区二区| 尤物视频最新网址| 亚洲在线免费播放| 伊人网免费视频| 亚洲精品99久久久久| 麻豆视频免费在线观看| 欧洲精品在线视频| 日本一区影院| 西游记1978| 亚洲在线一区| 国产精品嫩草69影院| 中文av一区二区| 青青国产在线观看| 日韩精品专区在线| 91成人高清| 国产va免费精品高清在线观看| 一区二区亚洲视频| 中文字幕一区二区三区最新| 美女精品在线| 污片免费在线观看| 艳妇臀荡乳欲伦亚洲一区| 一区二区三区免费在线| 亚洲天堂视频在线观看| 伊人久久在线| 国产有色视频色综合| 欧美在线三区| 女人高潮一级片| 国产精品丝袜在线| 亚洲无码精品一区二区三区| 日韩av网站电影| 大桥未久在线视频| 成人三级在线| 中文字幕午夜精品一区二区三区| 超碰在线公开97| 国产欧美一区二区在线| 精品成人无码久久久久久| 日韩大陆欧美高清视频区| av中文字幕在线观看第一页| 国产精品大全| 在线成人www免费观看视频| www.欧美com| 一区二区三区精品| 亚洲经典一区二区| 久久久久久久久久久免费| av日韩精品| 91.com在线| 99久久综合狠狠综合久久| 日韩黄色一级大片| 亚洲国产精品久久91精品| mm视频在线视频| 九色综合婷婷综合| 欧美一级播放| 国产1区2区在线观看| 欧美三级视频在线播放| 午夜免费视频在线国产| 成人国产精品一区| 午夜精品久久久久99热蜜桃导演 | av免费在线观看不卡| 久久这里有精品视频| 午夜视频一区二区在线观看| 久久综合久久久久| 99久久精品久久久久久清纯| 国产成人在线免费视频| 亚洲欧美在线看| 成人精品一区二区三区电影| 伊甸园精品99久久久久久| 精品无码三级在线观看视频 | 欧美三级不卡| 国产视频久久久久久| 在线看日韩精品电影| 快射av在线播放一区| 国产精品区免费视频| 国产一区二区三区的电影 | 日本ー区在线视频| 国产精品久久久久久久久免费看 | 国产精品丝袜久久久久久app| 国产又黄又大又粗的视频| 久久69精品久久久久久国产越南| 加勒比久久高清| 久久国产乱子伦免费精品| 亚洲欧洲精品一区二区三区不卡| 国产91久久久| 全球成人中文在线| 99精品电影| 好吊色视频一区二区三区| 日本丰满少妇一区二区三区| 成人毛片av在线| 九色一区二区| 国模无码大尺度一区二区三区| 国产一级做a爱免费视频| 一区二区欧美日韩视频| swag国产精品一区二区| 国产免费999| 亚洲动漫第一页| 在线中文资源天堂| 精品一区久久久| 久久丁香综合五月国产三级网站| 69精品久久久| 中文字幕日韩精品有码视频| а√中文在线天堂精品| 在线观看免费黄网站| 精品国产鲁一鲁一区二区张丽| 麻豆免费在线观看|