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