MySQL數據庫備份的基礎知識大(dà)全
平時我們在使用MySQL數據庫的時候經常會因為操作失誤造成數據丟失,MySQL數據庫備份可以幫助(zhù)我們避免由於各種原因造成的數據丟失或著數據庫的其他問題。
一、數據備份捷徑
因為這個方法沒(méi)有得到官方正式文檔的(de)驗證,我們暫稱為試驗吧。
目(mù)的(de):備份hostA主機(jī)中一個MySQL數據庫(kù)備(bèi)份TestA,並(bìng)恢複(fù)到到hostB機中(zhōng)
試驗(yàn)環境:
操作係(xì)統:WinNT4.0,Mysql3.22.34,phpMyAdmin 2.1.0
在hostA中安裝MySQL數據庫備份並建立TestA數據庫
hostB機(jī)安裝MySQL數據庫備份,沒有TestA數(shù)據庫
方法步驟:
啟(qǐ)動phpMyAdmin察看HostA和HostB中的(de)數據庫列表,在HostB中沒有TestA數據庫(kù)
找到(dào)HostA中MySQL數據庫備份的安裝目錄,並找到數據庫目錄data
在我的試驗環境中,這個目錄是C:\mysql\data
找到對應數據庫名稱的子目錄(lù)C:\mysql\data\TestA
粘貼拷貝到HostB的Data目錄下,是HostA同(tóng)HostB MySQL數據庫備份數據目錄下的(de)文件(jiàn)相同
刷新HostB的(de)phpMyAdmin察看一下數據庫列表(biǎo),我(wǒ)們看到TestA已經出現,並且(qiě)作查詢修改等操作都正常,備份恢複恢複成功
試驗結論:MySQL的數據庫可以通過文件形式保存,備份,恢複隻要將相(xiàng)應文件目錄恢複即可,無需使(shǐ)用其它工具備份。
二、正規的方法(官方建議):
導出要用到MySQL數據庫備份(fèn)的mysqldump工(gōng)具,基本用法是(shì):
mysqldump [OPTIONS] database [tables] |
如果你不給定(dìng)任何表,整個數據庫將(jiāng)被導出。
通過執行mysqldump --help,你能(néng)得(dé)到你mysqldump的版本支持的選項表。
注意,如果你運行mysqldump沒有--quick或--opt選項,mysqldump將在導出結果前裝載整個結果集到內存中,如果你正(zhèng)在導出一個大的數據庫(kù),這將可能是一個問(wèn)題。
mysqldump支持下(xià)列選項:
--add-locks |
在每(měi)個表導出之前增加LOCK TABLES並且之後UNLOCK TABLE。(為(wéi)了使得更快地插入到MySQL數據庫備份)。
--add-drop-table |
在每個create語句之前增加一個drop table。
--allow-keywords |
允許創建是關鍵詞的列名字。這由在(zài)列名前麵加表名的(de)方法做到。
-c, --complete-insert |
使用完整的insert語句(用列名字)。
-C, --compress |
如(rú)果客戶和服務器均(jun1)支持壓縮,壓縮兩者間所有的信息。
--delayed |
用INSERT DELAYED命令插(chā)入行。
-e, --extended-insert |
使用全新多行INSERT語法。(給出更緊縮並且更快的(de)插入語句)
-#, --debug[=option_string] |
跟蹤程序(xù)的使用(yòng)(為了調試)。
--help |
顯示一條幫助消(xiāo)息並且退出。
--fields-terminated-by=... --fields-enclosed-by=... --fields-optionally-enclosed-by=... --fields-escaped-by=... --fields-terminated-by=... |
這些選擇(zé)與-T選(xuǎn)擇一(yī)起使用,並(bìng)且有相(xiàng)應的LOAD DATA INFILE子句相同的含(hán)義。
LOAD DATA INFILE語法。
-F, --flush-logs |
在開始導(dǎo)出前,洗掉在MySQL數據庫備份服務器中的日誌(zhì)文件。
-f, --force, |
即(jí)使我們在一個(gè)表導出期(qī)間得(dé)到一個SQ
關鍵詞:MySQL數據庫備份
閱讀本文後您有(yǒu)什麽感想? 已有 人給出評價(jià)!
- 1
- 1
- 1
- 1
- 1
- 1