国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL備份原理詳解

2024-07-24 12:44:51
字體:
來源:轉載
供稿:網友

本文為大家介紹了MySQL備份原理,歡迎大家閱讀。

備份是數據安全的最后一道防線,對于任何數據丟失的場景,備份雖然不一定能恢復百分之百的數據(取決于備份周期),但至少能將損失降到最低。衡量備份恢復有兩個重要的指標:恢復點目標(RPO)和恢復時間目標(RTO),前者重點關注能恢復到什么程度,而后者則重點關注恢復需要多長時間。這篇文章主要討論MySQL的備份方案,重點介紹幾種備份方式的原理,包括文件系統快照(LVM),邏輯備份工具Mysqldump,Mydumper,以及物理備份工具Xtrabackup,同時會詳細講解幾種方案的優缺點,以及可能遇到的問題。

冷備份

最簡單的備份方式就是,關閉MySQL服務器,然后將data目錄下面的所有文件進行拷貝保存,需要恢復時,則將目錄拷貝到需要恢復的機器即可。這種方式確實方便,但是在生產環境中基本沒什么作用。因為所有的機器都是要提供服務的,即使是Slave有時候也需要提供只讀服務,所以關閉MySQL停服備份是不現實的。與冷備份相對應的一個概念是熱備份,所謂熱備份是在不影響MySQL對外服務的情況下,進行備份,熱備份是這篇文章討論的重點。

快照備份

首先要介紹的熱備份是快照備份,快照備份是指通過文件系統支持的快照功能對數據庫進行備份。備份的原理是將所有的數據庫文件放在同一分區中,然后對該分區執行快照工作,對于Linux而言,需要通過LVM(Logical Volumn Manager)來實現。LVM使用寫時復制(copy-on-write)技術來創建快照,例如,對整個卷的某個瞬間的邏輯副本,類似于數據庫中的innodb存儲引擎的MVCC,只不過LVM的快照在文件系統層面,而MVCC在數據庫層面,而且僅支持innodb存儲引擎。LVM有一個快照預留區域,如果原始卷數據有變化時,LVM保證在任何變更寫入之前,會復制受影響塊到快照預留區域。簡單來說,快照區域內保留了快照點開始時的一致的所有old數據。對于更新很少的數據庫,快照也會非常小。對于MySQL而言,為了使用快照備份,需要將數據文件,日志文件都放在一個邏輯卷中,然后對該卷快照備份即可。由于快照備份,只能本地,因此,如果本地的磁盤損壞,則快照也就損壞了。快照備份更偏向于對誤操作防范,可以將數據庫迅速恢復到快照產生的時間點,然后結合二進制日志可以恢復到指定的時間點。基本原理如下圖:

邏輯備份

冷備份和快照備份由于其弊端在生產環境中很少使用,使用更多是MySQL自帶的邏輯備份和物理備份工具,這節主要講邏輯備份,MySQL官方提供了Mysqldump邏輯備份工具,雖然已經足夠好,但存在單線程備份慢的問題。在社區提供了更優秀的邏輯備份工具mydumper,它的優勢主要體現在多線程備份,備份速度更快。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陆河县| 宜宾市| 商水县| 长阳| 开江县| 灌南县| 临沂市| 黄石市| 奈曼旗| 伽师县| 神农架林区| 永胜县| 弋阳县| 水富县| 富平县| 秀山| 余江县| 怀化市| 苍溪县| 黎川县| 定日县| 汪清县| 年辖:市辖区| 襄汾县| 阿克苏市| 铜陵市| 佛坪县| 兰州市| 天镇县| 长乐市| 沾益县| 攀枝花市| 民县| 烟台市| 顺平县| 汉源县| 盐津县| 盐津县| 江孜县| 信阳市| 拜城县|