MySQL数据库备份方法说明
2007-10-30 11:03:41 来源:WEB开发网输出文件的开头看起来象这样:
#MySQLDump6.0##Host:localhostDatabase:samp_db#-------------
--------------------------#Serverversion3.23.2-alpha-log##Tablest
ructurefortable'absence'#CREATETABLEabsence(student_idint(10)
unsignedDEFAULT'0'NOTNULL,datedateDEFAULT'0000-00-00'NOTNUL
L,PRIMARYKEY(student_id,date));##Dumpingdatafortable'absence'
#INSERTINTOabsenceVALUES(3,'1999-09-03');INSERTINTOabsenceVALUE
S(5,'1999-09-03');INSERTINTOabsenceVALUES(10,'1999-09-08');......
文件剩下的部分有更多的INSERT和CREATETABLE语句组成。
如果你想压缩备份,使用类似如下的命令:
%mysqldumpsamp_db|gzip>/usr/archives/mysql/samp_db.1999-10-02.gz
如果你要一个庞大的数据库,输出文件也将很庞大,可能难于管理。如果你愿意,你可以在mysqldump命令行的数据库名后列出单独的表名来倾到它们的内容,这将倾倒文件分成较小、更易于管理的文件。下例显示如何将samp_db数据库的一些表倾到进分开的文件中:
%mysqldumpsamp_dbstudentscoreeventabsence>grapbook.sql
%mysqldumpsamp_dbmemberpresident>hist-league.sql
如果你生成准备用于定期刷新另一个数据库内容的备份文件,你可能想用--add-drop-table选项。这告诉服务器将DROPTABLEIFEXISTS语句写入备份文件,然后,当你取出备份文件并把它装载进第二个数据库时,如果表已经存在,你不会得到一个错误。
如果你倒出一个数据库以便能把数据库转移到另一个服务器,你甚至不必创建备份文件。要保证数据库存在于另一台主机,然后用管道倾倒数据库,这样mysql能直接读取mysqldump的输出。例如:你想从主机pit-viper.snake.net拷贝数据库samp_db到boa.snake.net,可以这样很容易做到:
更多精彩
赞助商链接