MySQLdump對不同類型的存儲引擎,內部實現也不一樣。主要是針對兩種類型的存儲引擎:支持事務的存儲引擎(如InnoDB)和不支持事務的存儲引擎(如MyISAM),下面分別看看這兩種存儲引擎的實現:
1、對于支持事務的引擎如InnoDB,參數上是在備份的時候加上--single-transaction保證數據一致性
--single-transaction實際上通過做了下面兩個操作:
1).在開始的時候把該session的事務隔離級別設置成repeatable read;
2).然后啟動一個事務(執(zhí)行begin),備份結束的時候結束該事務(執(zhí)行commit)
有了這兩個操作,在備份過程中,該session讀到的數據都是啟動備份時的數據(同一個點)??梢岳斫鉃閷τ趇nnodb引擎來說加了該參數,備份開始時就已經把要備份的數據定下來了,備份過程中的提交的事務時是看不到的,也不會備份進去。
本文標題:mysqldump備份時如何保持數據的一致性
分享地址:http://m.rwnh.cn/article40/pcddeo.html
成都網站建設公司_創(chuàng)新互聯,為您提供App開發(fā)、用戶體驗、服務器托管、標簽優(yōu)化、網站營銷、關鍵詞優(yōu)化
廣告
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創(chuàng)新互聯