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的備份方法MySql
- 【mysqldump】mysqldump及備份恢復示例MySql
- mysqldump備份技巧分享MySql
- mysqldump 備份指令碼MySql指令碼
- mysqldump備份指令碼MySql指令碼
- 邏輯備份--mysqldumpMySql
- 簡單的mysqldump備份(windows)MySqlWindows
- windows mysqldump備份指令碼WindowsMySql指令碼
- mysqldump備份原理解析MySql
- mysql 邏輯備份 (mysqldump)MySql
- mysqldump備份不輸入密碼直接備份MySql密碼
- mysqldump 資料庫備份程式MySql資料庫
- MySQL 5.5 mysqldump備份說明MySql
- mysqldump常用備份恢復方法MySql
- mysql 備份資料庫 mysqldumpMySql資料庫
- mysqldump 進行資料備份MySql
- mysql的常用備份工具:mysqldump和mysqlhotcopyMySql
- MySQL主從配置及mysqldump備份MySql
- mysql5.6 mysqldump備份報錯MySql
- mysqldump備份指令碼一例MySql指令碼
- mysqldump如何只備份表結構MySql
- mysql備份恢復mysqldump面面觀MySql
- mysqldump流程MySql
- mysqldump 全量和增量備份指令碼MySql指令碼
- mysql之 mysqldump 備份恢復詳解MySql
- Mysql增量備份之Mysqldump& MylvmbackupMySqlLVM
- mysqldump 備份單張表和恢復MySql
- 簡記MySQL的邏輯備份(mydumper+mysqldump)MySql
- Mysql備份系列(2)--mysqldump備份(全量+增量)方案操作記錄MySql
- mysqldump全量備份+mysqlbinlog二進位制日誌增量備份MySql
- mysqldump壓縮備份匯出匯入(含定期備份shell指令碼)MySql指令碼
- Mysql備份和還原資料庫-mysqldumpMySql資料庫
- MySQL 5.5 Slave節點備份指令碼(mysqldump)MySql指令碼
- mysqldump來備份MYSQL資料庫(指令碼)MySql資料庫指令碼
- Mysqldump 在備庫進行備份時會阻塞備庫的sql_threadMySqlthread
- 關於mysqldump備份非事務表的注意事項MySql
- 使用Mysqldump備份和恢復MySQL資料庫MySql資料庫