这里只说text模式,binary模式先不提。
1.mysqldump备份database或table:
[code]$mysqldump database [table1 table2] > dump.sql[/code]
比如备份数据库cm2:
[code]$mysqldump cm2 >cm2.sql[/code]
或者只是cm2中的mail,user表:
[code]$mysqldump cm2 mail usrer >cm2_mail_user.sql[/code]
mysqldump参数介绍
--databases: mysqldump后跟的所有都是database,而不是table。这个在需要备份多个数据库的时候有效。
--all-databases:备份所有的数据库的所有表到一个文件
另外这使用两个参数会自动在备份文件里添加判断database是否存在,并create database的命令。
而在默认的情况下没有此功能,如果原来的database没了,需要先创建database,才能导入。
2.使用mysql恢复数据库或表:
[code]$mysql database < dump.sql[/code]
比如恢复之前备份的数据库cm2
[code]$mysql cm2 < cm2.sql[/code]
如果没有使用--databases参数备份,那么必须指定数据库,并且该数据库存在。
如果使用了--databases参数,则可以不指定数据库,并且数据库可不存在。
所以一般情况备份database的情况下加上这个参数会比较好。
3.使用mysqldump和mysql拷贝database或者table
[code]$mysqldump database [table] | mysql [-h other.host.com] database1[/code]
这里copy的前提是database1必须存在。