六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

對于mysqldump的案例詳細說明

[摘要]部分生產環境采用mysqldump --single-transaction的方式在夜間進行數據庫備份,而同事恰好在備份期間執行了alter table操作,操作部分成功部分失敗,為啥呢?測試在MySQL 5.6.36上執行,該問題存在版本差異!##========================...
部分生產環境采用mysqldump --single-transaction的方式在夜間進行數據庫備份,而同事恰好在備份期間執行了alter table操作,操作部分成功部分失敗,為啥呢?

測試在MySQL 5.6.36上執行,該問題存在版本差異!

##========================================================================##

在mysqldump對single-transaction參數的解釋為:

Creates a consistent snapshot by dumping all tables in a
single transaction. Works ONLY for tables stored in
storage engines which support multiversioning (currently
only InnoDB does); the dump is NOT guaranteed to be
consistent for other storage engines.
 While a
--single-transaction dump is in process, to ensure a
valid dump file (correct table contents and binary log
position), no other connection should use the following
statements: ALTER TABLE, DROP TABLE, RENAME TABLE,
TRUNCATE TABLE, as consistent snapshot is not isolated
from them.
 Option automatically turns off --lock-tables.

紅色字體部分是重點,但是看得有些迷糊,還是動手測試下。

根據《mysqldump的幾個主要選項探究》的介紹,我們備份執行的命令mysqldump --single-transaction --master-data相當于執行下面代碼:

FLUSH TABLES;
FLUSH TABLES WITH READ LOCK;SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;
START TRANSACTION WITH CONSISTENT SNAPSHOT;
SHOW MASTER STATUS;
UNLOCK TABLES;

SHOW TABLES LIKE 'xxx'SET OPTION SQL_QUOTE_SHOW_CREATE=1SHWO CREATE TABLE 'xxx'SHOW FIELDS FROM 'xxx'SHOW TABLE STATUS LIKE 'xxx'SELECT /*!40001 SQL_NO_CACHE */ * FROM  xxx

QUIT

場景1:mysqldump開始但尚未備份到表tb001時,另外回話對表tb001進行alter操作,然后mysqldump對表tb001進行導出

關于mysqldump的實例詳解

alter操作順利完成,但是mysqldump操作失敗。

場景2:mysqldump開始備份并完成tb001的導出,在對其他表進行導出過程中,其他回話對表進行alter操作

關于mysqldump的實例詳解

alter table操作被阻塞直至mysqldump完成或失敗后退出。

使用mysqldump備份時,模擬場景2的環境,報錯信息為:

mysqldump: Error 1412: Table definition has changed, please retry transaction when dumping table `tb1002` at row: 0

查看導出文件,最后內容為:

--
-- Dumping data for table `tb1002`--LOCK TABLES `tb1002` WRITE;/*!40000 ALTER TABLE `tb1002` DISABLE KEYS */;

總結:

single-transaction參數通過Innodb的多版本來獲得數據一致性,而ALTER TABLE, DROP TABLE, RENAME TABLE,TRUNCATE TABLE等操作會破壞數據一致性,兩種操作不能并發執行。

如果修改表操作在 ”mysqldump開啟后但還未導出修改表數據前“ 的時間段內開始,則修改表操作成功完成,而mysqldump會執行失��;

如果修改表操作在 “mysqldum已導出修改表數據但還未結束mysqldump操作前”的時間段內開始,則修改表操作被阻塞,mysqldum能成功完成,在mysqldump操作完成后修改表操作方可正常執行。

以上就是關于mysqldump的實例詳解的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 日韩在线资源 | 日日操夜夜操免费视频 | 午夜影院欧美 | 青草99| 亚洲va欧美ⅴa国产va影院 | 天天骑天天干 | 天堂网在线网站成人午夜网站 | 亚洲专区路线一路线二 | 五月婷婷在线观看视频 | 亚洲图片欧美 | 日韩无砖专区 | 日韩亚洲一区中文字幕 | 四虎精品在线视频 | 青春草网站 | 四虎在线永久视频观看 | 日本免费看片 | 青娱乐精品视觉盛宴 | 天天躁夜夜躁狠狠躁躁 | 永久在线观看www免费视频 | 日韩欧美一区二区三区中文精品 | 色影音先锋色资源网站 | 色吊丝性永久免费看码 | 中文字幕在线视频第一页 | 色妇色综合久久夜夜 | 四虎 在线播放 | 日韩精品永久免费播放平台 | 亚洲自拍色 | 婷婷色伊人 | 五月网婷婷 | 日本高清无卡码一区二区久久 | 欧美一区二区三区精品 | 熟女毛片 | 日本高清在线观看视频www | 天天狠天天插 | 亚洲黄页网站 | 天美传媒一区 | 日韩 综合| 伊人久久精品 | 日韩精品福利在线 | 亚洲色大成网站www 亚洲三级中文字幕 | 伊人久久综合成人网小说 |