這裡只說text模式,binary模式先不提。
1.MySQLdump備份database或table:
$MySQLdump database [table1 table2] > dump.sql
比如備份數據庫cm2:
$MySQLdump cm2 >cm2.sql
或者只是cm2中的mail,user表:
$MySQLdump cm2 mail usrer >cm2_mail_user.sql
MySQLdump參數介紹
--databases: MySQLdump後跟的所有都是database,而不是table。這個在需要備份多個數據庫的時候有效。
--all-databases:備份所有的數據庫的所有表到一個文件
另外這使用兩個參數會自動在備份文件裡添加判斷database是否存在,並create database的命令。
而在默認的情況下沒有此功能,如果原來的database沒了,需要先創建database,才能導入。
2.使用MySQL恢復數據庫或表:
$MySQL database < dump.sql
比如恢復之前備份的數據庫cm2
$MySQL cm2 < cm2.sql
如果沒有使用--databases參數備份,那麼必須指定數據庫,並且該數據庫存在。
如果使用了--databases參數,則可以不指定數據庫,並且數據庫可不存在。
所以一般情況備份database的情況下加上這個參數會比較好。
3.使用mysqldump和MySQL拷貝database或者table
$mysqldump database [table] | MySQL [-h other.host.com] database1
這裡copy的前提是database1必須存在。