在mysql中備份數據有很多辦法最常用的是使用mysqldump了,還有一種是直接復制數據庫進行備份了,下面我們一起來看看。
一,mysqldump備份方法
貌似是除了在MySQL客戶端裡導出表之外,最簡單的備份方法。記錄一下。
shell> mysqldump [OPTIONS] database [tables]
如果沒有指定數據表,則導出整個數據庫的內容。
獲得幫助
shell> mysqldump --help
這樣能夠得到mysqldump的選項列表。
注意:如果運行mysqldump沒有–quick或–opt選項,mysqldump將在導出結果前裝載整個結果集到內存中,如果正在導出一個大的數據庫,這將可能是一個問題。
1.導出整個數據庫
mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
mysqldump -u user -p database > back.sql
2.導出一個表
mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
mysqldump -u user -p database.table> back.sql
mysqldump -u user –password=密碼 database.table > back.sql
3.導出一個數據庫結構
mysqldump -u user -p -d –add-drop-table database >d:back.sql
-d 沒有數據 –add-drop-table 在每個create語句之前增加一個drop table
4.導入數據庫
常用source 命令
進入mysql數據庫控制台,
如mysql -u root -p
mysql>use 數據庫
然後使用source命令,後面參數為腳本文件(如這裡用到的.sql)
mysql>source d:back.sql
5.還是導入數據庫
mysql -u user -p target_db_name < backup-file.sql
二,復制copy數據備份捷徑
因為這個方法沒有得到官方正式文檔的驗證,我們暫稱為試驗吧。
目的:備份hostA主機中一個mysql數據庫TestA,並恢復到到hostB機中
試驗環境:
操作系統:WinNT4.0,Mysql3.22.34,phpMyAdmin 2.1.0
在hostA中安裝mysql數據庫並建立TestA數據庫
hostB機安裝mysql數據庫,沒有TestA數據庫
方法步驟:
啟動phpMyAdmin察看HostA和HostB中的數據庫列表,在HostB中沒有TestA數據庫
找到HostA中mysql的安裝目錄,並找到數據庫目錄data
在我的試驗環境中,這個目錄是
C:mysqldata
找到對應數據庫名稱的子目錄
C:mysqldataTestA
粘貼拷貝到HostB的Data目錄下,是HostA同HostB Mysql數據目錄下的文件相同
刷新HostB的phpMyAdmin察看一下數據庫列表,我們看到TestA已經出現,並且作查詢修改等操作都正常,備份恢復恢復成功
試驗結論:Mysql的數據庫可以通過文件形式保存,備份,恢復只要將相應文件目錄恢復即可,無需使用其它工具備份。