MariaDB 備份方法

2022-08-16 15:30 更新

數(shù)據(jù)作為業(yè)務(wù)和操作的基礎(chǔ),并且具有各種可能的威脅(例如,攻擊者,系統(tǒng)故障,不良升級(jí)和維護(hù)錯(cuò)誤),備份仍然至關(guān)重要。 這些備份采用多種形式,并且存在許多選項(xiàng)用于在這些過(guò)程中使用更寬泛的選項(xiàng)來(lái)創(chuàng)建它們。 要記住的重要事情是數(shù)據(jù)庫(kù)類型,關(guān)鍵信息和所涉及的結(jié)構(gòu)。 此信息確定您的最佳選擇。

選項(xiàng)

備份的主要選項(xiàng)包括邏輯備份和物理備份。 邏輯備份保存用于恢復(fù)數(shù)據(jù)的SQL語(yǔ)句。 物理備份包含數(shù)據(jù)副本。

  • 物理備份相比,邏輯備份提供了在具有不同配置的另一臺(tái)機(jī)器上恢復(fù)數(shù)據(jù)的靈活性,物理備份通常限于相同的機(jī)器和數(shù)據(jù)庫(kù)類型。 邏輯備份發(fā)生在數(shù)據(jù)庫(kù)和表級(jí),物理發(fā)生在目錄和文件級(jí)。

  • 物理備份的大小小于邏輯備份,并且執(zhí)行和恢復(fù)所需的時(shí)間也更少。 物理備份還包括日志和配置文件,但邏輯備份不包括。

備份工具

用于MariaDB備份的主要工具是mysqldump。 它提供邏輯備份和靈活性。 它也證明是小數(shù)據(jù)庫(kù)的一個(gè)很好的選擇。 Mysqldump將數(shù)據(jù)轉(zhuǎn)儲(chǔ)為SQL,CSV,XML和許多其他格式。 其輸出不保留存儲(chǔ)過(guò)程,視圖和事件,沒(méi)有顯式指令。

有三個(gè)選項(xiàng)mysqldump備份 - 

  • 原始數(shù)據(jù) - 通過(guò)--tab選項(xiàng)將表轉(zhuǎn)儲(chǔ)為原始數(shù)據(jù)文件,該選項(xiàng)還指定文件的目標(biāo) -

$ mysqldump -u root -p --no-create-info 
   --tab=/tmp PRODUCTS products_tbl
  • 數(shù)據(jù)/定義export - 此選項(xiàng)允許將單個(gè)或多個(gè)表導(dǎo)出到文件,并支持備份主機(jī)上的所有現(xiàn)有數(shù)據(jù)庫(kù)。 檢查將內(nèi)容或定義導(dǎo)出到文件的示例

$ mysqldump -u root -p PRODUCTS products_tbl > export_file.txt
  • 傳輸 - 您還可以將數(shù)據(jù)庫(kù)和表輸出到另一個(gè)主機(jī)

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

使用SELECT ... INTO OUTFILE語(yǔ)句

導(dǎo)出數(shù)據(jù)的另一個(gè)選項(xiàng)使用SELECT ... INTO OUTFILE語(yǔ)句。 這個(gè)簡(jiǎn)單的選項(xiàng)輸出表到一個(gè)簡(jiǎn)單的格式化文本文件 -

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

其屬性允許將文件格式化為您首選的規(guī)范。

請(qǐng)注意本聲明的以下質(zhì)量 - 

  • 文件名必須指定輸出的所需位置。

  • 您需要MariaDB文件權(quán)限才能執(zhí)行語(yǔ)句。

  • 輸出文件名必須是唯一的。

  • 您需要主機(jī)上的登錄憑據(jù)。

  • 在UNIX環(huán)境中,輸出文件是世界可讀的,但其服務(wù)器所有權(quán)會(huì)影響您刪除它的能力。 確保您有權(quán)限。

在備份中使用CONNECT

CONNECT處理程序允許導(dǎo)出數(shù)據(jù)。 這證明主要在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';

其他工具

備份的其他選項(xiàng)如下 - 

  • XtraBackup - 此選項(xiàng)針對(duì)XtraDB / InnoDB數(shù)據(jù)庫(kù),并與任何存儲(chǔ)引擎一起工作。從Percona的官方網(wǎng)站了解有關(guān)此工具的更多信息。

  • Snapshots - 某些文件系統(tǒng)允許快照。該過(guò)程包括使用讀鎖刷新表,裝入快照,解鎖表,復(fù)制快照,然后卸載快照。

  • LVM - 這種流行的方法使用Perl腳本。它在每個(gè)表上獲取讀取鎖并將緩存刷新到磁盤(pán)。然后它獲取快照并解鎖表。有關(guān)詳細(xì)信息,請(qǐng)咨詢官方mylvmbackup網(wǎng)站。

  • TokuBackup - Percona提供的此解決方案提供熱備份,考慮到InnoDB備份選項(xiàng)的問(wèn)題和限制。它生成文件的事務(wù)性聲音副本,而應(yīng)用程序繼續(xù)操作它們。有關(guān)詳細(xì)信息,請(qǐng)咨詢Percona網(wǎng)站。

INNODB注意事項(xiàng)

InnoDB使用緩沖池來(lái)提高性能。在備份中,配置InnoDB以避免將整個(gè)表復(fù)制到緩沖池中,因?yàn)檫壿媯浞萃ǔ?zhí)行全表掃描。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)