国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談MySQL數(shù)據(jù)庫有關(guān)數(shù)據(jù)備份的幾種方法

2020-01-02 14:16
山西電子技術(shù) 2020年2期
關(guān)鍵詞:數(shù)據(jù)表增量備份

段 震

(太原師范學(xué)院,山西 太原 030619)

MYSQL數(shù)據(jù)庫系統(tǒng)將每一個數(shù)據(jù)庫的數(shù)據(jù)以文件的形式保存,因此可以通過復(fù)制文件的方式對數(shù)據(jù)庫進(jìn)行備份。但是,復(fù)制文件時確保在復(fù)制期間不使用表。如果不滿足此條件,復(fù)制的文件中可能存在數(shù)據(jù)不一致,復(fù)制操作將失敗。因此可以在復(fù)制以前關(guān)閉MYSQL服務(wù),復(fù)制完成后再重新啟動服務(wù)。

數(shù)據(jù)的備份根據(jù)其具體用途的不同而執(zhí)行不同的操作。有為了防止數(shù)據(jù)丟失而進(jìn)行的定期備份、有數(shù)據(jù)轉(zhuǎn)移的備份、有數(shù)據(jù)丟失而需要找回的數(shù)據(jù)還原等。在MYSQL中實現(xiàn)備份數(shù)據(jù)庫的方法有很多,主要有以下幾種:

1 完全備份、全備份

進(jìn)行完全備份的最簡單和最快的方法是復(fù)制數(shù)據(jù)庫文件夾。當(dāng)然,復(fù)制時需要MySQL。您還可以使用mysqldump程序或mysqlhotcopy腳本在SQL語句級備份數(shù)據(jù)庫。它們稍微慢一點,但是它們有很強(qiáng)的通用性[1]。

使用復(fù)制的方法直接將數(shù)據(jù)表文件備份,也屬于完全備份。只要服務(wù)器不再進(jìn)行更新,可以復(fù)制所有表文件(.frm、*.myd和*.myi文件)。所有表文件(.frm、*.myd和*.myi文件)只要服務(wù)器不再更新,就可以復(fù)制這些文件。對于Innodb表,可以過行在線備份,不對表進(jìn)行鎖定。

可以在MySQL安裝目錄中找到Mysqldump,它用于轉(zhuǎn)儲或收集數(shù)據(jù)庫,以便備份或?qū)?shù)據(jù)傳輸?shù)街С諷QL語句的服務(wù)器(不一定是MySQL服務(wù)器)。備份后生成的備份是一個文本文件。該文件的內(nèi)容是用于創(chuàng)建表并將數(shù)據(jù)插入表的SQL語句。

下面我們來詳細(xì)介紹Mysqldump的一些選項,對數(shù)據(jù)表和數(shù)據(jù)庫的備份。

1.1 備份一個數(shù)據(jù)庫或一張表

對指定的數(shù)據(jù)庫或指定的表進(jìn)行備份,可提供其所生成的備份文件的名稱和地址,也可以不提供。若不提供所備份的文件路徑或名稱,那么所備份的內(nèi)容將直接顯示在系統(tǒng)終端;否則其備份內(nèi)容被記錄在備份文件中。

1) 備份數(shù)據(jù)庫或表,但不提供備份地址。語法如下:

Mysqldump[選項]數(shù)據(jù)庫名[表名]數(shù)據(jù)庫名[表名]

2) 備份一個數(shù)據(jù)庫或一張表,指明備份文件的名稱和地址,語法如下:

Mysqldump[選項]數(shù)據(jù)庫名[表名]>文件路徑(文件名稱)

例如:對jxgl數(shù)據(jù)庫中的work表進(jìn)行備份,使用root用戶名,123456密碼,不提供備份文件的地址,其代碼如下:

mysqldump-u root-p123456 jxgl work

例如:對jxgl數(shù)據(jù)庫中的work表進(jìn)行備份,指定其備份文件路徑為:“d:work.sql”,使用root用戶名,123456為密碼,其代碼如下:

mysqldump-u root-p123456 jxgl work>d:work.sql

1.2 同時備份多個數(shù)據(jù)庫

對指定的數(shù)據(jù)庫列表進(jìn)行備份,可提供其所生成的備份文件的名稱和址,也可以不提供。若不提供所備份的文件路徑或名稱,那么備份的內(nèi)容將直接顯示在系統(tǒng)終端;否則其備份內(nèi)容被記錄在備份文件中[2]。

同時備份多個數(shù)據(jù)庫,語法如下:

Mysqldump[選項]--database數(shù)據(jù)庫名1[數(shù)據(jù)庫名2數(shù)據(jù)庫3…]

同時備份多個數(shù)據(jù)庫,指定備份文件路徑,語法如下:

Mysqldump[選項]--database數(shù)據(jù)庫名1[數(shù)據(jù)庫名2數(shù)據(jù)庫3…]>文件路徑(文件名稱)

1.3 備份服務(wù)器上所有的數(shù)據(jù)庫

語法如下:

Mysqldump[選項]—all-database

而mysqldump用于備份一個完整的數(shù)據(jù)庫,基本語法如下:

Mysqldump-opt數(shù)據(jù)庫名>備份文件名.sql

Mysqldump[選項]-所有數(shù)據(jù)庫

Mysqldump用于備份完整的數(shù)據(jù)庫?;菊Z法如下:

選擇數(shù)據(jù)庫名>備份文件名.sql

除了將數(shù)據(jù)庫的備份顯示在終端,還可使用數(shù)據(jù)表備份的方法,將上述備份保存在文件中,代碼如下:

Mysqldump-u root-p-all-database>d:databases.sql

2 表備份

如果只想備份數(shù)據(jù)庫的某些表,可以使用select into outfile或backup table語句只提取數(shù)據(jù)表中的數(shù)據(jù),而不備份表的結(jié)構(gòu)和定義。

其用法如下:

從表名[其他Select子句]中選擇列名列表到輸出文件| dumpfile’filename'output選項

例如:備份jxgl.work表中除了w_no字段以外的數(shù)據(jù),創(chuàng)建“d:work.txt”文件并將數(shù)據(jù)導(dǎo)入文件中,代碼如下:

Select w_name,w_sex into outfile“d:work.txt”from jxgl.work;

在代碼中,由于反斜杠被編譯為轉(zhuǎn)義字符,因此需要使用雙反斜杠。

Load data infile語句是select into…outfile語句的反執(zhí)行,能夠?qū)elect into…outfile語句所備份的文件重新放回表中。

3 增量備份

增量備份是在完全備份后僅備份數(shù)據(jù)更改。增量備份可用于常規(guī)備份和自動備份。

MySQL支持增量備份。啟動服務(wù)器時包含—log bin選項啟用二進(jìn)制日志功能。二進(jìn)制文件記載了自某一次備份以來所有的數(shù)據(jù)更新操作。生成一份增量備份時,需要使用FLUSH LOGS或者mysqldump--flush-logs生成一份新的日志文件,執(zhí)行完成之后,將自某一次備份之后到最新的二進(jìn)制日志文件復(fù)制到備份位置,即增量備份文件?;謴?fù)時,重新執(zhí)行這些增量備份文件。

shell>mysqlbinlog binlog_files|mysql-u root-p

通過增量備份,當(dāng)出現(xiàn)在操作系統(tǒng)崩潰或斷電的情況下,InnoDB可以自己完成所有的數(shù)據(jù)恢復(fù)工作。

4 小結(jié)

數(shù)據(jù)庫的安全是系統(tǒng)安全的重要組成部分,故必須設(shè)計一個完善的數(shù)據(jù)庫備份和恢復(fù)方案。MySQL提供了多種工具,可以一起使用,使數(shù)據(jù)庫備份和恢復(fù)變得容易。在實際的MySQL數(shù)據(jù)庫備份和恢復(fù)中,會出現(xiàn)很多無法通過和復(fù)雜的情況。根據(jù)不同的情況,需要大量的實踐和經(jīng)驗來恢復(fù)數(shù)據(jù)庫,使數(shù)據(jù)具有最大的可恢復(fù)性和最短的恢復(fù)時間。

猜你喜歡
數(shù)據(jù)表增量備份
淺談數(shù)字化條件下的數(shù)據(jù)備份管理
導(dǎo)彈增量式自適應(yīng)容錯控制系統(tǒng)設(shè)計
提質(zhì)和增量之間的“辯證”
全現(xiàn)款操作,年增量1千萬!這家GMP漁藥廠為何這么牛?
湖北省新冠肺炎疫情數(shù)據(jù)表(2.26-3.25)
湖北省新冠肺炎疫情數(shù)據(jù)表
湖北省新冠肺炎疫情數(shù)據(jù)表
創(chuàng)建vSphere 備份任務(wù)
Windows10應(yīng)用信息備份與恢復(fù)
特大城市快遞垃圾增量占垃圾增量93%
阿克苏市| 通城县| 东阿县| 常山县| 鄂托克前旗| 永和县| 那坡县| 米泉市| 新绛县| 广州市| 平安县| 玉田县| 冀州市| 东宁县| 通化县| 广宗县| 托里县| 汉寿县| 建湖县| 文安县| 蒙山县| 额尔古纳市| 乐亭县| 安阳市| 万荣县| 汝州市| 哈密市| 濉溪县| 尼勒克县| 新沂市| 宜城市| 陇川县| 凤山市| 涞水县| 锡林浩特市| 鹿邑县| 英山县| 平邑县| 丰镇市| 西畴县| 明溪县|