ZDNetChina中文社区 » 数据库/数据仓库 » MySQL & PostgreSQL & Sybase » 实际应用:MySQL数据库备份与恢复


2007-12-5 20:57 internetx
实际应用:MySQL数据库备份与恢复

这里只说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必须存在。

页: [1]


Powered by Discuz!  Archiver   © 2001-2006 Comsenz Inc.