MySQL恢復過程
MySQL的xa recover 過程記錄
1 首先需要了解的是MySQL在啟動的時候,會建立trx_sys,trx_sys_init_at_db_start
在該函式中呼叫trx_lists_init_at_db_start,這個函式會去掃描undo 段,將未提交的事務新增到事務連結串列in_rw_trx_list中。
2 開啟binlog xa恢復的過程呼叫堆疊如下
mysqld!ha_recover(st_hash*) (/Users/xiaoyu.bai/Downloads/mysql-5.7.29/sql/xa.cc:149) mysqld!MYSQL_BIN_LOG::recover(st_io_cache*, Format_description_log_event*, unsigned long long*) (/Users/xiaoyu.bai/Downloads/mysql-5.7.29/sql/binlog.cc:9939) mysqld!MYSQL_BIN_LOG::open_binlog(char const*) (/Users/xiaoyu.bai/Downloads/mysql-5.7.29/sql/binlog.cc:8507) mysqld!MYSQL_BIN_LOG::open(char const*) (/Users/xiaoyu.bai/Downloads/mysql-5.7.29/sql/binlog.h:662) mysqld!init_server_components() (/Users/xiaoyu.bai/Downloads/mysql-5.7.29/sql/mysqld.cc:4228) mysqld!mysqld_main(int, char**) (/Users/xiaoyu.bai/Downloads/mysql-5.7.29/sql/mysqld.cc:4755) mysqld!main (/Users/xiaoyu.bai/Downloads/mysql-5.7.29/sql/main.cc:32) libdyld.dylib!start (Unknown Source:0)
plugin_foreach(NULL, xarecover_handlerton, MYSQL_STORAGE_ENGINE_PLUGIN, &info); 呼叫xarecover_handlerton進行一些判斷,哪些事務提交,哪些回滾。 事務進行提交的hton->commit_by_xid(hton, info->list + i); innodb呼叫innobase_commit_by_xid(進行提交,之前的事務資訊在啟動的時候已經恢復,可以直接走提交的流程。 寫入binlog的都是prepared 狀態,所以xa recoever 提交的是prepared狀態的事務
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25719946/viewspace-2930599/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 崩潰恢復過程分析MySql
- vsan儲存資料恢復過程—虛擬機器故障恢復過程資料恢復虛擬機
- 資料庫恢復過程資料庫
- 用flashback恢復儲存過程儲存過程
- 恢復MySQL資料庫建立儲存過程是遇到錯誤MySql資料庫儲存過程
- MySQL 透過 binlog 恢復資料MySql
- MySQL 通過 binlog 恢復資料MySql
- mysql 透過idb 恢復檔案MySql
- 儲存崩潰資料恢復過程;資料恢復案例資料恢復
- 【資料庫資料恢復】透過恢復NDF檔案修復資料庫的資料恢復過程資料庫資料恢復
- 【Mysql】如何透過binlog恢復資料MySql
- Oracle 業務資料unload恢復過程Oracle
- 伺服器資料恢復案例:FreeNAS資料恢復過程記錄伺服器資料恢復
- 伺服器RAID資料恢復,磁碟陣列資料恢復過程伺服器AI資料恢復陣列
- 伺服器資料恢復過程(伺服器資料恢復通用方法)伺服器資料恢復
- raid5硬碟故障資料恢復過程AI硬碟資料恢復
- ORACLE事務和例項恢復過程梳理Oracle
- linux系統資料恢復成功的過程Linux資料恢復
- 公眾號被遮蔽到恢復過程分享
- DELL Eq PS4000伺服器資料恢復過程/資料恢復案例伺服器資料恢復
- mysql通過frm、idb檔案恢復資料MySql
- MySQL GTID複製中斷修復過程MySql
- 【資料庫資料恢復】透過資料頁恢復Sql Server資料庫資料的過程資料庫資料恢復SQLServer
- Mysql備份恢復MySql
- mysql資料恢復MySql資料恢復
- 【MySQL】MySQL備份和恢復MySql
- MySQL 非常規恢復與物理備份恢復MySql
- PostgreSQL啟動恢復過程中日誌源的切換SQL
- V3700系列儲存資料恢復成功過程資料恢復
- raid5條帶分析方法+ 資料恢復過程AI資料恢復
- vsan超融合架構資料恢復原理及過程架構資料恢復
- vim編輯過程中斷,恢復時出現警告
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- 【伺服器資料恢復】StorNext檔案系統下raid5資料恢復過程伺服器資料恢復AI
- Mysql update誤操作恢復MySql
- MySQL 備份與恢復MySql
- 虛擬機器資料丟失恢復過程記錄虛擬機
- 儲存有兩塊硬碟離線恢復資料的過程硬碟