Mysqldump的備份流程
可以透過開啟general log 來看mysqldump的整個備份過程。
set global general_log=ON;
備份指令碼:
mysqldump -uroot -p -E -R --triggers --single-transaction --master-data=2 -A > test_all.sql
mysqldump的主要過程:
-
一開始執行 FLUSH TABLES 關閉例項中所有的表。 此過程可能會被已經存在的select 阻塞從而影響前臺業務。
-
執行語句 FLUSH TABLES WITH READ LOCK 獲取全域性表的讀鎖,保證表一致性。
-
設定會話級別事務的隔離級別為 REPEATABLE READ ,保證事務期間資料的一致性。
-
執行語句 START TRANSACTION /* !40100 WITH CONSISTENT SNAPSHOT */ 建立一個一致性事務快照。
-
檢視是否開啟 GTID。
-
獲取當前狀態下的binlog 檔案及position 資訊。 (在備份選項中執行了--master-data)。
-
執行 UNLOCK TABLES 釋放全域性讀鎖。
-
開始備份第一個資料庫資料,為事務建立一個檢查點,備份完一張表之後還原至檢查點接著備份下一張表,直至該資料庫所有的表備份完成,接著備份下一個資料庫資料,直至所有資料庫資料備份完成。
-
當備份完最後一個資料庫資料後釋放檢查點,退出並終止事務。
參考文件:
https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
https://dev.mysql.com/doc/refman/5.7/en/flush.html
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21374452/viewspace-2854260/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQLDump的備份方法MySql
- 【mysqldump】mysqldump及備份恢復示例MySql
- mysqldump備份技巧分享MySql
- 簡單的mysqldump備份(windows)MySqlWindows
- windows mysqldump備份指令碼WindowsMySql指令碼
- mysqldump 資料庫備份程式MySql資料庫
- MySQL主從配置及mysqldump備份MySql
- mysql5.6 mysqldump備份報錯MySql
- mysqldump全量備份+mysqlbinlog二進位制日誌增量備份MySql
- mysqldump壓縮備份匯出匯入(含定期備份shell指令碼)MySql指令碼
- Mysqldump 在備庫進行備份時會阻塞備庫的sql_threadMySqlthread
- mysqldump+mysqlbinlog執行備份與還原MySql
- Linux基礎命令---mysqldump資料庫備份LinuxMySql資料庫
- Mysql備份和還原資料庫-mysqldumpMySql資料庫
- 關於mysqldump備份非事務表的注意事項MySql
- 使用Mysqldump備份和恢復MySQL資料庫MySql資料庫
- Mysqldump備份說明及資料庫備份指令碼分享-運維筆記MySql資料庫指令碼運維筆記
- mysqldump使用方法(MySQL資料庫的備份與恢復)MySql資料庫
- mysqldump備份時如何保持資料的一致性MySql
- 詳解MySQL資料備份之mysqldump使用方法MySql
- innobackupex全備份流程圖流程圖
- mysqldump備份單庫、部分庫、全庫、及排除部分庫MySql
- 當心!使用mysqldump備份可能會讓你欲哭無淚MySql
- mysqldump備份時的資料一致性問題--single-transactionMySql
- vue3建立流程備份1Vue
- mysqldump 備份匯出資料排除某張表或多張表MySql
- 圖解MySQL邏輯備份的實現流程圖解MySql
- windows下使用mysqldump備份資料庫並上傳到阿里雲OSSWindowsMySql資料庫阿里
- 利用MySQL全備份(mysqldump),如何只恢復一個庫或者一個表?MySql
- OceanBase-OB備份異地恢復流程
- mysql的冷備份與熱備份MySql
- 【資料分析師_02_SQL+MySQL】030_MySQL的資料備份和效能管理(MYSQLDUMP,MYSQLHOTCOPY,INDEX,EXPLAIN)MySqlIndexAI
- 備份集和備份片之間的關係
- oracle 如何不備份已經備份的歸檔Oracle
- GitLab的自動備份、清理備份與恢復Gitlab
- MySQL的冷備份和熱備份概念理解(轉)MySql
- RMAN的備份原理
- 【備份】RMAN中對控制檔案的幾種備份方法