通過mysqldump來備份和恢復MySQL
瀏覽量: 次 發布日期:2023-08-20 15:53:42
通過mysqldump來備份和恢復MySQL
今天我們聊聊的備份和恢復,在下面文章中,你會了解到常見的備份類型,以及基于命令在日常開發中如何做數據庫以及表的備份和恢復。在數據丟失的情況下快速恢復數據。作為實驗數據的來源:將生產數據拷貝一份到到本地測試庫用于測試,不影響生產數據升級數據庫版本時,需要將生產數據拷貝到本地,然后在本地測試是否兼容,找出潛在不安全性哎呀,手抖了,刪庫了1.1 物理備份
物理備份指將數據庫內容的目錄和數據文件、日志文件及配置文件的原始副本全部備份,適用于大型重要的數據庫在出現問題時需要快速恢復的場景。1.1.1 物理備份方法具有以下特征物理備份包括數據庫目錄和文件的精確副本。通常這是 數據目錄的全部或部分副本。物理備份方法比邏輯備份方法快,因為它們只涉及文件復制而不設計文件轉換。物理備份可以在 服務器停止時執行備份。如果服務器正在運行,則需要執行適當的鎖定,以便服務器在備份期間不更改數據庫內容。( 提供企業級備份和恢復。它可以在多種平臺上提供熱備份、在線備份和非阻塞備份)可以自動鎖定需要備份的表。除了數據文件之外,備份還可以包括任何相關文件,如日志或配置文件。物理備份工具包括 ( 組件的一部分),或 表的文件系統命令(如 )。1.1.2 物理備份恢復 恢復 和其他已備份的表ndb_restore還原恢復 表(引擎)使用文件系統命令復制的文件可以使用文件系統命令復制回原來的位置1.2 邏輯備份
邏輯備份是指將數據庫的邏輯結構(、 語句)和內容( 語句或帶分隔符的文本文件)備份。它適用于小量的數據,我們可以直接編輯備份的數據,修改表結構或者內容,然后在不同的服務器上面重新構建數據;1.2.1 邏輯備份方法具有以下特征邏輯備份是通過查詢 服務器獲取數據庫表結構和表內容信息來完成的。邏輯備份比物理備份方法慢,因為服務器必須訪問數據庫的信息并將其轉換為邏輯格式。如果輸出是在客戶端寫的,服務器還必須將其發送到客戶端側,網絡傳輸也是影響的一方面。邏輯備份是在運行 服務器的情況下執行的。服務器不需要停機。邏輯備份工具包括 程序和 語句。備份不包括日志或配置文件。要還原邏輯備份,可以使用 客戶端()處理 格式的轉儲文件。若要加載帶分隔符的文本文件,請使用 語句或 客戶端。
在 服務器運行期間進行備份,稱為在線備份。反之服務器停止時進行備份。稱為離線備份。通常也可以稱為“熱備份”和“冷備份” ;1 在線備份方法具有以下特征在線備份對其他客戶端的干擾較小,這些客戶端可以在備份期間連接到 服務器,并且可以訪問數據。必須注意施加適當的鎖定,防止備份期間數據修改導致備份數據不完整。產品會自動執行這種鎖定。2 離線備份方法具有以下特征客戶端可能會受到負面影響,因為服務器在備份期間不可用。由于這個原因,這些備份數據通常是從從服務器上(主從復制)獲取的,當然是在不影響可用性的情況下離線執行。備份過程更簡單,因為不存在客戶端活動干擾的可能性。
在備份期間,客戶端能夠在備份數據時讀取數據?;謴托薷臄祿⑶也恢皇亲x取數據,因此在還原數據時必須阻止客戶端訪問數據。
本地備份指在運行 服務器的同一臺主機上執行備份操作,而遠程備份是在另一臺主機上執行備份操作。對于某些類型的備份,即使備份輸出是在服務器上,但可能是從遠程主機啟動備份。可以連接到本地或遠程服務器。 可以從本地或遠程客戶端主機啟動 ,但是輸出文件是在服務器主機上創建的。
完全備份指備份 服務器在給定時間點管理的所有數據。增量備份指備份給定時間范圍內(從一個時間點到另一個時間點)對數據所做的更改。 有不同的方法來執行完全備份,如前面所述。通過啟用 服務器的二進制日志(服務器用于記錄數據更改) ,可以進行增量備份。
完全恢復還原備份的所有數據。這會將服務器的數據恢復到備份時的狀態。如果該狀態不是當前的,可以在完全恢復之后進行增量恢復,從而使服務器達到更新的狀態。
增量恢復是對給定時間跨度內所做的更改進行恢復。這也稱為時間點恢復。時點恢復基于binlog二進制日志,通常在完全恢復備份文件之后進行,然后將寫入二進制日志文件中的數據更改作為增量恢復應用于重做數據修改,并將服務器帶到所需的時間點。
首先,我們看看我們的演示數據1.1 備份所有數據庫
進入安裝目錄下面執行命令,接下來操作保持一致
--hex-blob :使用十六進制符號轉儲二進制字符串[解決導出中文亂碼問題]
結果:1.2 備份特定數據庫
結果:
說明:
在單數據庫情況下,可以忽略以下 選項
如果不帶此選項,生成文件會不包含1.3 備份數據庫的特點表
結果:2.1 不創建Database
如果備份文件是由使用 或 選項創建的 ,則備份文件包含和 語句,所以無需指定默認數據庫就可以直接將數據重載;
首先,我們刪庫跑路..........
結果:2.2 創建Database
備份文件不包含和 語句 ,請首先創建數據庫(如有必要):
結果:(關閉數據庫連接,重復開啟,皆可以看到)
我們重新生成一個不不包含和 語句的文件
img
彩蛋:如果遇到這個,就重啟下服務吧,我也不知道為什么,哈哈
向數據庫重載我們的數據
結果:
在考慮進行升級時,應將新版本與當前生產版本分開安裝。然后,您可以從生產服務器中轉儲數據庫和表定義,并將它們加載到新服務器中,以驗證它們是否正常。(這對于測試降級也很有用。)
驗證表定義正常后,在導入數據測試
這時候,可以進行一些簡單查詢測試,觀察是否正常
在本文中,我們只是簡單介紹了的基礎操作,關于它的選項總共有個,大家可以根據自己需要自行去官網查閱學習。
相關推薦