成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > MySQL數(shù)據(jù)庫是如何實現(xiàn)XA規(guī)范的

MySQL數(shù)據(jù)庫是如何實現(xiàn)XA規(guī)范的

熱門標(biāo)簽:地圖標(biāo)注被騙三百怎么辦 400電話鄭州申請 常州電銷外呼系統(tǒng)一般多少錢 房產(chǎn)智能外呼系統(tǒng)品牌 天智外呼系統(tǒng) 云南語音外呼系統(tǒng)平臺 北京人工外呼系統(tǒng)價錢 福州呼叫中心外呼系統(tǒng)哪家好 沃克斯電梯外呼線路圖

MySQL 的一致性日志

如果 MySQL 數(shù)據(jù)庫斷電了,未提交的事務(wù)怎么辦?

答案:依靠日志。

因為在執(zhí)行一個操作之前,數(shù)據(jù)庫會首先把這個操作的內(nèi)容寫入到文件系統(tǒng)日志里,然后再進(jìn)行操作。當(dāng)宕機(jī)或者斷電的時候,即使操作并沒有執(zhí)行完,但是日志在操作前就已經(jīng)寫好了,我們?nèi)匀豢梢愿鶕?jù)日志的內(nèi)容來進(jìn)行恢復(fù)。

MySQL InnoDB 引擎中和一致性相關(guān)的有重做日志(redo log)、回滾日志(undo log)和二進(jìn)制日志(binlog)。

redo log

每當(dāng)有操作執(zhí)行前,在數(shù)據(jù)真正更改前會先把相關(guān)操作寫入 redo 日志。這樣當(dāng)發(fā)生斷電等意外導(dǎo)致后續(xù)任務(wù)無法完成時,待系統(tǒng)恢復(fù)后就可以繼續(xù)完成這些更改。

undo log

和 redo 日志對應(yīng),也叫撤消日志,記錄事務(wù)開始前數(shù)據(jù)的狀態(tài)。

當(dāng)一些更改在執(zhí)行一半時發(fā)生意外而無法完成,就可以根據(jù)撤消日志恢復(fù)到更改之前的狀態(tài)。

舉個例子,事務(wù) T1 更新數(shù)據(jù) X,對 X 執(zhí)行 Update 操作,從 10 更新到 20,對應(yīng)的 Redo 日志為 T1, X, 20>,Undo 日志為 T1, X, 10>。

binlog

是 MySQL sever 層維護(hù)的一種二進(jìn)制日志,MySQL 最重要的日志之一,它記錄了所有的 DDL 和 DML 語句,除了數(shù)據(jù)查詢語句 select、show 等,還包含語句所執(zhí)行的消耗時間。

binlog 與 InnoDB 引擎中的 redo/undo log 不同,主要目的是復(fù)制和恢復(fù),用來記錄對 MySQL 數(shù)據(jù)更新或潛在發(fā)生更新的 SQL 語句,并以事務(wù)日志的形式保存在磁盤中。

binlog 主要應(yīng)用在 MySQL 的主從復(fù)制過程中,MySQL 集群在 Master 端開啟 binlog,Master 把它的二進(jìn)制日志傳遞給 slaves 節(jié)點(diǎn),再從節(jié)點(diǎn)回放來達(dá)到 master-slave 數(shù)據(jù)一致的目的。

你可以連接到 MySQL 服務(wù)器,使用下面的命令查看真實的 binlog 數(shù)據(jù):

//查看binlog文件的內(nèi)容
show binlog events;

//查看指定binlog文件的內(nèi)容
show binlog events in 'MySQL-bin.000001';

//查看正在寫入的binlog文件
show master status\G
 
//獲取binlog文件列表
show binary logs;

XA 規(guī)范是如何定義的

XA 是由 X/Open 組織提出的分布式事務(wù)規(guī)范,XA 規(guī)范主要定義了事務(wù)協(xié)調(diào)者(Transaction Manager)和資源管理器(Resource Manager)之間的接口。

事務(wù)協(xié)調(diào)者(Transaction Manager)

因為 XA 事務(wù)是基于兩階段提交協(xié)議的,所以需要有一個協(xié)調(diào)者,來保證所有的事務(wù)參與者都完成了準(zhǔn)備工作,也就是 2PC 的第一階段。

如果事務(wù)協(xié)調(diào)者收到所有參與者都準(zhǔn)備好的消息,就會通知所有的事務(wù)都可以提交,也就是 2PC 的第二階段。

之所以需要引入事務(wù)協(xié)調(diào)者,是因為在分布式系統(tǒng)中,兩臺機(jī)器理論上無法達(dá)到一致的狀態(tài),需要引入一個單點(diǎn)進(jìn)行協(xié)調(diào)。

資源管理器(Resource Manager)

負(fù)責(zé)控制和管理實際資源,比如數(shù)據(jù)庫或 JMS 隊列。

目前,主流數(shù)據(jù)庫都提供了對 XA 的支持,在 JMS 規(guī)范中,即 Java 消息服務(wù)(Java Message Service)中,也基于 XA 定義了對事務(wù)的支持。

XA 事務(wù)的執(zhí)行流程

XA 事務(wù)是兩階段提交的一種實現(xiàn)方式,根據(jù) 2PC 的規(guī)范,XA 將一次事務(wù)分割成了兩個階段,即 Prepare 和 Commit 階段。

Prepare 階段

TM 向所有 RM 發(fā)送 prepare 指令,RM 接受到指令后,執(zhí)行數(shù)據(jù)修改和日志記錄等操作,然后返回可以提交或者不提交的消息給 TM。

如果事務(wù)協(xié)調(diào)者 TM 收到所有參與者都準(zhǔn)備好的消息,會通知所有的事務(wù)提交,然后進(jìn)入第二階段。

Commit 階段

TM 接受到所有 RM 的 prepare 結(jié)果,如果有 RM 返回是不可提交或者超時,那么向所有 RM 發(fā)送 Rollback 命令。

如果所有 RM 都返回可以提交,那么向所有 RM 發(fā)送 Commit 命令,完成一次事務(wù)操作。

MySQL 如何實現(xiàn) XA 規(guī)范

MySQL 中 XA 事務(wù)有兩種情況,內(nèi)部 XA 和外部 XA,其區(qū)別是事務(wù)發(fā)生在 MySQL 服務(wù)器單機(jī)上,還是發(fā)生在多個外部節(jié)點(diǎn)間上。

內(nèi)部 XA

在 MySQL 的 InnoDB 存儲引擎中,開啟 binlog 的情況下,MySQL 會同時維護(hù) binlog 日志與 InnoDB 的 redo log,為了保證這兩個日志的一致性,MySQL 使用了 XA 事務(wù),由于是在 MySQL 單機(jī)上工作,所以被稱為內(nèi)部 XA。

內(nèi)部 XA 事務(wù)由 binlog 作為協(xié)調(diào)者,在事務(wù)提交時,則需要將提交信息寫入二進(jìn)制日志,也就是說,binlog 的參與者是 MySQL 本身。

外部 XA

外部 XA 就是典型的分布式事務(wù),MySQL 支持 XA START/END/PREPARE/Commit 這些 SQL 語句,通過使用這些命令,可以完成分布式事務(wù)。

你也可以查看 MySQL 官方文檔,了解更多的 XA 命令。

MySQL 外部 XA 主要應(yīng)用在數(shù)據(jù)庫代理層,實現(xiàn)對 MySQL 數(shù)據(jù)庫的分布式事務(wù)支持,例如開源的數(shù)據(jù)庫中間層,比如淘寶的 TDDL、阿里巴巴 B2B 的 Cobar 等。

外部 XA 一般是針對跨多 MySQL 實例的分布式事務(wù),需要應(yīng)用層作為協(xié)調(diào)者,比如我們在寫業(yè)務(wù)代碼,在代碼中決定提交還是回滾,并且在崩潰時進(jìn)行恢復(fù)。

binlog 中的 Xid

當(dāng)事務(wù)提交時,在 binlog 依賴的內(nèi)部 XA 中,額外添加了 Xid 結(jié)構(gòu),binlog 有多種數(shù)據(jù)類型:

  1. statement 格式,記錄為基本語句,包含 Commit
  2. row 格式,記錄為基于行
  3. mixed 格式,日志記錄使用混合格式

不論是 statement 還是 row 格式,binlog 都會添加一個 XID_EVENT 作為事務(wù)的結(jié)束,該事件記錄了事務(wù)的 ID 也就是 Xid,在 MySQL 進(jìn)行崩潰恢復(fù)時根據(jù) binlog 中提交的情況來決定如何恢復(fù)。

binlog 同步過程

下面來看看 binlog 下的事務(wù)提交過程,整體過程是先寫 redo log,再寫 binlog,并以 binlog 寫成功為事務(wù)提交成功的標(biāo)志。

當(dāng)有事務(wù)提交時:

  • InnoDB 進(jìn)入 Prepare 階段,并且 write/sync redo log,寫 redo log,將事務(wù)的 xid 寫入到 redo 日志中,binlog 不作任何操作
  • 進(jìn)行 write/sync binlog,寫 binlog 日志,也會把 xid 寫入到 binlog
  • 調(diào)用 InnoDB 引擎的 commit 完成事務(wù)的提交,將 commit 信息寫入到 redo 日志中

如果是在第一步和第二步失敗,則整個事務(wù)回滾

如果是在第三步失敗,則 MySQL 在重啟后會檢查 xid 是否已經(jīng)提交,若沒有提交,也就是事務(wù)需要重新執(zhí)行,就會在存儲引擎中再執(zhí)行一次提交操作,保障 redo log 和 binlog 數(shù)據(jù)的一致性,防止數(shù)據(jù)丟失。

實際執(zhí)行還牽扯到操作系統(tǒng)緩存 buffer 何時同步到文件系統(tǒng)中,所以 MySQL 支持用戶自定義在 commit 時如何將 log buffer 中的日志刷到 log file 中,通過變量 innodb_flush_log_at_trx_Commit 的值來決定。

在 log buffer 中的內(nèi)容稱為臟日志,感興趣的話可以查詢資料了解下。

以上就是MySQL數(shù)據(jù)庫是如何實現(xiàn)XA規(guī)范的的詳細(xì)內(nèi)容,更多關(guān)于MySQL數(shù)據(jù)庫XA規(guī)范的資料請關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • mysql跨庫事務(wù)XA操作示例
  • MySQL存儲表情時報錯:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D\x0A...’的解決方法
  • 如何修改Xampp服務(wù)器上的mysql密碼(圖解)
  • 在mac上如何使用終端打開XAMPP自帶的MySQL
  • xampp修改mysql默認(rèn)密碼的方法
  • ThinkPHP框架搭建及常見問題(XAMPP安裝失敗、Apache/MySQL啟動失敗)
  • xampp中修改mysql默認(rèn)空密碼(root密碼)的方法分享
  • mysql的XA事務(wù)恢復(fù)過程詳解
  • 解決xampp自啟動和mysql.sock問題

標(biāo)簽:黔東 鹽城 拉薩 沈陽 徐州 沈陽 移動 珠海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL數(shù)據(jù)庫是如何實現(xiàn)XA規(guī)范的》,本文關(guān)鍵詞  MySQL,數(shù)據(jù)庫,是,如何,實現(xiàn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL數(shù)據(jù)庫是如何實現(xiàn)XA規(guī)范的》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL數(shù)據(jù)庫是如何實現(xiàn)XA規(guī)范的的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    免费黄色网网址| 在线中文字幕网站| 国产精品嫩草影院av蜜臀| 日本高清视频一区| 中文字幕一区二区三区域| 国产精品欧美精品| 欧美日韩成人免费视频| 蜜桃视频在线观看播放| 国产激情综合五月久久| 中国女人内谢69xxxx视频| 日韩vs国产vs欧美| 欧美风情在线视频| 蜜桃av噜噜一区| 亚洲精品18p| 婷婷久久综合九色综合伊人色| www.黄色在线观看| 日本精品久久久久久| www.国产欧美| 1234区在线观看视频免费| 欧美激情15p| 午夜激情影院| 一区二区三区精品视频| 国产乱国产乱老熟300| 日韩激情一区二区三区| 懂色中文一区二区三区在线视频| 中文字幕+乱码+中文乱码91| 最近中文字幕在线mv视频在线| yw.139尤物在线精品视频| 亚洲天堂网站在线观看视频| 中文字幕第一页在线| 99thz桃花论族在线播放| 欧美亚洲日本国产| 国产综合第一页| 国产精品一区专区| 老司机99精品99| 国产精品偷拍| 日韩在线一级片| 国产婷婷色一区二区三区| 国产一区二区精品久久91| 992tv人人草| 欧美va在线观看| 蜜臀久久99精品久久一区二区| 日韩视频免费观看高清在线视频| 国产三级三级三级精品8ⅰ区| 亚洲影院在线播放| 色伦专区97中文字幕| 99久久婷婷国产精品综合| 亚洲国产成人在线播放| 超碰porn在线| 亚洲精选一二三| 中文字幕 日韩有码| 在线电影一区二区| 2020中文字幕在线播放| 亚洲精品一区二区在线观看| 四虎在线免费视频| 亚洲免费影视| 欧美久久影院| 久久精品一二区| 色av一区二区三区| 亚洲日穴在线视频| www.av天天| 少妇毛片一区二区三区| 色婷婷av一区二区三区之e本道| 亚洲欧美天堂| 亚洲AV无码久久精品国产一区| 一本大道久久a久久精品综合| 欧美三级xxx| 欧美一区二区三区四区五区六区| 成人在线看视频| 国产成人无码精品| 美女精品视频| 在线视频您懂的| 天天激情综合| 亚洲美女激情视频| 精品久久久久久久久久久国产字幕| 激情另类综合| 日韩专区在线播放| 麻豆传媒在线播放| 国产精品自拍亚洲| av在线天堂播放| 亚洲一区二区三区毛片| 色猫猫国产区一区二在线视频| 91色porny在线视频| 亚洲一区二区视频| 亚洲视频sss| 二吊插入一穴一区二区| 国产麻豆欧美日韩一区| 3d动漫一区二区三区在线观看| 国产欧美精品一区二区色综合| 欧美人与牲禽动交com| av五月天在线| 蜜桃av噜噜一区二区三区小说| 欧美**vk| 欧美性xxxx极品高清hd直播| 欧美精品欧美极品欧美激情| 亚洲欧美另类久久久精品| 不卡免费追剧大全电视剧网站| 91视频免费在线| theporn国产精品| 91中文字幕一区| 欧美日韩一区二区区| 亚洲综合精品在线| 欧美日本高清视频在线观看| 亚州欧美精品suv| 九九久久成人| 久久综合亚洲社区| 老汉色老汉首页av亚洲| 国产精品三上| 久久综合亚州| 日本高清视频免费在线观看| 日韩av网站导航| 国产成人综合精品在线| 91亚洲精品久久久蜜桃借种| 蜜芽视频在线观看| 鲁丝一区二区三区| 九九热免费在线观看| 午夜精品一区二区三区视频免费看| www在线视频观看| 国产91av在线| 天堂аⅴ在线最新版在线| 99久久婷婷国产综合精品电影√| 91天堂在线观看| 99久久99久久久精品棕色圆| 久久色在线视频| 一区二区在线中文字幕电影视频| 在线播放www| 欧美图片一区二区三区| 香蕉成人app| 久久中文久久字幕| 国产精品自拍片| 在线亚洲一区观看| 亚洲第一视频在线播放| 亚洲女优视频| 国产综合一区二区| 免费久久精品视频| 国产精品免费视频一区| 精品久久久久久久久久久久久久久久久久| 91视频免费播放| 精品欧美日韩在线| 黑人粗进入欧美aaaaa| 日韩情涩欧美日韩视频| 国产日韩欧美精品一区二区三区| 日韩高清免费在线| f2c人成在线观看免费视频| 日本片在线观看| 国产日韩综合av| 久久免费一区| 深夜成人福利| 欧美电影免费观看网站| 精品av导航| av在线dvd| 国产精品第108页| 欧美亚洲另类在线一区二区三区| 国产精品99re| 欧美肥老太太性生活| 久久人体视频| 97久久综合精品久久久综合| 亚洲精品成人自拍| 黄色大片在线播放| 成人性色生活片免费看爆迷你毛片| 日韩欧美视频第二区| 久久久久久中文字幕| 日韩一卡二卡三卡四卡| 国产卡二和卡三的视频| 免费成人深夜夜行网站视频| 26uuu另类欧美| 欧美久久久久久久久| 一二三av在线| 欧美99在线视频观看| 久久综合影视| 中文字幕乱在线伦视频中文字幕乱码在线| 在线综合欧美| yourporn在线观看中文站| 欧美亚洲另类在线观看| a级黄色小视频| 亚洲黄色在线看| www久久久久| 国产小视频在线| 国产女精品视频网站免费| 中文字幕欧美日韩va免费视频| 91免费观看国产| 免费看黄色片的网站| 九九热最新视频| 99久久精品一区二区| 亚洲天堂在线视频观看| 91国拍精品国产粉嫩亚洲一区| 一本一本a久久| 九热爱视频精品视频| 日韩欧美国产精品综合嫩v| 石原莉奈一区二区三区在线观看| 日韩欧美成人网| 91精品视频一区| 亚洲爆乳无码精品aaa片蜜桃| 韩国视频一区二区| 一级片免费在线观看视频| 亚洲一区在线不卡| 日韩精品一区三区| 亚洲一区在线观看网站| 中文字幕区一区二区三| 嗯啊主人调教在线播放视频| 天天操天天干天天摸| 一区二区精品免费| 国产精品裸体一区二区三区| 亚洲第一福利网站| 91久久精品国产91性色69| 免费无码不卡视频在线观看| 精品人在线二区三区| 久久男女视频| 国产精品一品二区三区的使用体验| 成人看片网页| 久久福利视频导航| 欧美大胆a视频| av福利在线导航| 五月天丁香花婷婷| 欧美日韩加勒比精品一区| 亚洲在线视频免费| 欧美最猛黑人xxxx黑人猛交3p| 日韩激情一区二区三区| 中文国产在线观看| 少妇一级淫免费放| 99久久国产综合精品成人影院| 中文字幕伦理免费在线视频| 日本wwww视频| 最好看的日本字幕mv视频大全| 66m—66摸成人免费视频| 亚洲桃色综合影院| 一区二区三区视频在线观看| 亚洲主播在线| 日韩高清中文字幕一区二区| 久久香蕉国产线看观看av| 私人玩物在线观看| 香港久久久电影| 影音先锋中文字幕在线| 国产日韩欧美久久| 最新日本视频| 中文字幕亚洲在线| 2022国产精品| 欧美一级一级性生活免费录像| 国产日本在线视频| 你懂的在线视频| 国产1卡2卡三卡四卡网站| 乱人伦中文字幕在线zone| 欧美日韩第二页| 91蝌蚪在线观看视频| 精品国产福利在线| 国模私拍一区二区国模曼安| 欧美在线极品| 亚洲一区二区三区精品在线观看| 国产欧美一区二区精品久导航| 国产又黄又粗又硬| 久久99精品久久久久久秒播放器| 免费大片黄在线观看视频网站| 成人女性文胸| 最新天堂在线视频| 精精国产xxxx视频在线动漫| 91丝袜国产在线播放| 天天躁日日躁狠狠躁欧美巨大小说| 欧美日韩亚洲综合一区二区三区| 国产美女www| 国产精品区一区二区三含羞草| 午夜免费在线观看精品视频| 欧美黄网站色视频| 一区二区视频免费完整版观看| 日本午夜人人精品| 视频一区二区精品的福利| 国产在线免费看| 亚洲综合电影| 黄色av中文字幕| 亚洲国产精品国自产拍av秋霞| 国产精品51麻豆cm传媒| 99精品桃花视频在线观看| www.男人的天堂.com| 欧美日韩亚洲一区二区三区在线| 911精品美国片911久久久| 老妇喷水一区二区三区| 日韩精品视频在线看| 国产成人综合欧美精品久久| 亚洲a级在线观看| 青青草在线免费视频| 欧美激情国产精品免费| 欧美日韩一级黄色片| a在线观看视频| 欧美激情一区二区三区高清视频| 午夜亚洲性色福利视频| 在线高清av| 波多野结衣久久久久| 欧美国产第二页| 欧美性淫爽ww久久久久无| 中文在线资源天堂| 538任你躁在线精品免费| 亚洲色图视频网| 91免费黄视频| 中文字幕第99页| 香蕉免费毛片视频| 国产亚洲成av人片在线观黄桃| 综合天堂av久久久久久久| 国产成人精品在线播放| 欧美日韩另类字幕中文| 激情五月播播久久久精品| 久久久久综合一区二区三区| 国产盗摄精品一区二区酒店| 国产精品h视频| 精品剧情v国产在线观看在线| 久久综合入口| 欧美日韩**字幕一区| ass极品水嫩小美女ass| 日韩av综合网| 在线观看黄色小视频| 亚洲综合免费观看高清完整版| 日本成人免费网站| 欧美精品三级日韩久久| 99爱视频在线| 激情视频在线观看免费| 亚洲aⅴ男人的天堂在线观看| 亚洲在线观看免费| 欧美日韩国产精品自在自线| 国产一级二级视频| 欧美暴力喷水在线| 91成人国产精品| 亚洲自拍另类综合| 蜜桃视频在线观看91| 亚洲va欧美va国产va天堂影院| 欧美日韩色网| 中文字幕 国产精品| 欧美videos另类精品| 国产不卡精品视频| 性生交大片免费看女人按摩| 日韩高清第一页|