MariaDB - 備份方法



資料是業務和運營的基礎,並且存在各種可能的威脅(例如,攻擊者、系統故障、錯誤的升級和維護錯誤),因此備份仍然至關重要。這些備份採用多種形式,並且存在許多用於建立它們的選項,以及這些過程中更廣泛的選項集。需要記住的重要事項是資料庫型別、關鍵資訊和所涉及的結構。這些資訊決定了最佳選項。

選項

備份的主要選項包括邏輯備份和物理備份。邏輯備份儲存用於恢復資料的 SQL 語句。物理備份包含資料的副本。

  • 邏輯備份與物理備份相比,提供了在具有不同配置的其他機器上恢復資料的靈活性,而物理備份通常僅限於同一臺機器和資料庫型別。邏輯備份發生在資料庫和表級別,而物理備份發生在目錄和檔案級別。

  • 物理備份的大小比邏輯備份小,並且執行和恢復所需的時間也更短。物理備份還包括日誌和配置檔案,但邏輯備份不包括。

備份工具

用於 MariaDB 備份的主要工具是mysqldump。它提供邏輯備份和靈活性。它也是小型資料庫的絕佳選擇。Mysqldump 將資料轉儲到 SQL、CSV、XML 和許多其他格式。其輸出在沒有明確指令的情況下不會保留儲存過程、檢視和事件。

mysqldump 備份有三個選項:

  • 原始資料 - 透過 --tab 選項將錶轉儲為原始資料檔案,該選項還指定檔案的目標:

$ mysqldump -u root -p --no-create-info \
   --tab=/tmp PRODUCTS products_tbl
  • 資料/定義匯出 - 此選項允許將一個或多個表匯出到檔案,並支援備份主機上所有現有的資料庫。檢查將內容或定義匯出到檔案的示例

$ mysqldump -u root -p PRODUCTS products_tbl > export_file.txt
  • 傳輸 - 您還可以將資料庫和表輸出到另一個主機

$ mysqldump -u root -p database_name \
   | mysql -h other-host.com database_name

使用 SELECT...INTO OUTFILE 語句

匯出資料的另一個選項是使用 SELECT...INTO OUTFILE 語句。此簡單選項將表輸出到一個簡單的格式化文字檔案:

mysql> SELECT * FROM products_tbl
   -> INTO OUTFILE '/tmp/products.txt';

其屬性允許將檔案格式化為您首選的規範。

請注意此語句的以下特性:

  • 檔名必須指定您希望輸出的位置。

  • 您需要 MariaDB 檔案許可權才能執行該語句。

  • 輸出檔名必須唯一。

  • 您需要主機上的登入憑據。

  • 在 UNIX 環境中,輸出檔案對所有人可讀,但其伺服器所有權會影響您刪除它的能力。確保您擁有許可權。

在備份中使用 CONNECT

CONNECT 處理程式允許匯出資料。這主要在 SELECT...INTO OUTFILE 操作不支援檔案格式的情況下很有用。

檢視以下示例:

create table products
engine = CONNECT table_type = XML file_name = 'products.htm' header = yes
option_list = 'name = TABLE,coltype = HTML,attribute = border = 1;cellpadding = 5'

select plugin_name handler, plugin_version version, plugin_author
author, plugin_description description, plugin_maturity maturity
from information_schema.plugins where plugin_type = 'STORAGE ENGINE';

其他工具

備份的其他選項如下:

  • XtraBackup - 此選項針對 XtraDB/InnoDB 資料庫,並適用於任何儲存引擎。從 Percona 的官方網站了解有關此工具的更多資訊。

  • 快照 - 一些檔案系統允許快照。該過程包括使用讀鎖重新整理表、掛載快照、解鎖表、複製快照,然後解除安裝快照。

  • LVM - 此流行方法使用 Perl 指令碼。它在每個表上獲取讀鎖並將快取重新整理到磁碟。然後它獲取快照並解鎖表。有關更多資訊,請諮詢官方mylvmbackup 網站。

  • TokuBackup - 此 Percona 提供的解決方案考慮了 InnoDB 備份選項的問題和限制,提供了熱備份。它在應用程式繼續操作它們的同時生成檔案的交易安全副本。有關更多資訊,請諮詢 Percona 網站。

InnoDB 注意事項

InnoDB 使用緩衝池來增強效能。在備份中,配置 InnoDB 以避免將整個表複製到緩衝池中,因為邏輯備份通常執行全表掃描。

廣告