數(shù)據(jù)作為業(yè)務(wù)和操作的基礎(chǔ),并且具有各種可能的威脅(例如,攻擊者,系統(tǒng)故障,不良升級和維護(hù)錯誤),備份仍然至關(guān)重要。 這些備份采用多種形式,并且存在許多選項用于在這些過程中使用更寬泛的選項來創(chuàng)建它們。 要記住的重要事情是數(shù)據(jù)庫類型,關(guān)鍵信息和所涉及的結(jié)構(gòu)。 此信息確定您的最佳選擇。
備份的主要選項包括邏輯備份和物理備份。 邏輯備份保存用于恢復(fù)數(shù)據(jù)的SQL語句。 物理備份包含數(shù)據(jù)副本。
與物理備份相比,邏輯備份提供了在具有不同配置的另一臺機器上恢復(fù)數(shù)據(jù)的靈活性,物理備份通常限于相同的機器和數(shù)據(jù)庫類型。 邏輯備份發(fā)生在數(shù)據(jù)庫和表級,物理發(fā)生在目錄和文件級。
物理備份的大小小于邏輯備份,并且執(zhí)行和恢復(fù)所需的時間也更少。 物理備份還包括日志和配置文件,但邏輯備份不包括。
用于MariaDB備份的主要工具是mysqldump。 它提供邏輯備份和靈活性。 它也證明是小數(shù)據(jù)庫的一個很好的選擇。 Mysqldump將數(shù)據(jù)轉(zhuǎn)儲為SQL,CSV,XML和許多其他格式。 其輸出不保留存儲過程,視圖和事件,沒有顯式指令。
有三個選項mysqldump備份 -
原始數(shù)據(jù) - 通過--tab選項將表轉(zhuǎn)儲為原始數(shù)據(jù)文件,該選項還指定文件的目標(biāo) -
$ mysqldump -u root -p --no-create-info --tab=/tmp PRODUCTS products_tbl
數(shù)據(jù)/定義export - 此選項允許將單個或多個表導(dǎo)出到文件,并支持備份主機上的所有現(xiàn)有數(shù)據(jù)庫。 檢查將內(nèi)容或定義導(dǎo)出到文件的示例
$ mysqldump -u root -p PRODUCTS products_tbl > export_file.txt
傳輸 - 您還可以將數(shù)據(jù)庫和表輸出到另一個主機
$ mysqldump -u root -p database_name | mysql -h other-host.com database_name
導(dǎo)出數(shù)據(jù)的另一個選項使用SELECT ... INTO OUTFILE語句。 這個簡單的選項輸出表到一個簡單的格式化文本文件 -
mysql> SELECT * FROM products_tbl -> INTO OUTFILE '/tmp/products.txt';
其屬性允許將文件格式化為您首選的規(guī)范。
請注意本聲明的以下質(zhì)量 -
文件名必須指定輸出的所需位置。
您需要MariaDB文件權(quán)限才能執(zhí)行語句。
輸出文件名必須是唯一的。
您需要主機上的登錄憑據(jù)。
在UNIX環(huán)境中,輸出文件是世界可讀的,但其服務(wù)器所有權(quán)會影響您刪除它的能力。 確保您有權(quán)限。
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';
備份的其他選項如下 -
XtraBackup - 此選項針對XtraDB / InnoDB數(shù)據(jù)庫,并與任何存儲引擎一起工作。從Percona的官方網(wǎng)站了解有關(guān)此工具的更多信息。
Snapshots - 某些文件系統(tǒng)允許快照。該過程包括使用讀鎖刷新表,裝入快照,解鎖表,復(fù)制快照,然后卸載快照。
LVM - 這種流行的方法使用Perl腳本。它在每個表上獲取讀取鎖并將緩存刷新到磁盤。然后它獲取快照并解鎖表。有關(guān)詳細(xì)信息,請咨詢官方mylvmbackup網(wǎng)站。
TokuBackup - Percona提供的此解決方案提供熱備份,考慮到InnoDB備份選項的問題和限制。它生成文件的事務(wù)性聲音副本,而應(yīng)用程序繼續(xù)操作它們。有關(guān)詳細(xì)信息,請咨詢Percona網(wǎng)站。
InnoDB使用緩沖池來提高性能。在備份中,配置InnoDB以避免將整個表復(fù)制到緩沖池中,因為邏輯備份通常執(zhí)行全表掃描。
更多建議: