欢迎来到天天文库
浏览记录
ID:8980983
大小:36.00 KB
页数:3页
时间:2018-04-13
《mysql四种备份方法总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、MYSQL四种备份方法总结Mysql数据库备份主要有4种方法:1、mysqldump2、直接拷贝(cp、tar,gzip,cpio)3、mysqlhotcopy4、同步复制mysqldump生成能够移植到其它机器的文本文件,缺省地,文件内容包含创建正在倾倒的表的CREATE语句和包含表中行数据的INSERT语句。也就是说,mysqldump产生的输出可在以后用作mysql的输入来重建数据库。mysqldump比直接拷贝要慢些。使用直接拷贝,如果正在备份的表正被读写就容易导致表损坏,而且不建议对isam表使用直接拷贝的方法来备份,
2、因为ISAM表只能在相似的硬件结构的机器上拷贝。1、mysqldump备份:使用方法:mysqldump[OPTIONS]database[tables]输出文件的开头看起来象这样:#MySQLDump6.0##Host:localhostDatabase:samp_db#---------------------------------------#Serverversion3.23.2-alpha-log##Tablestructurefortable'absence'#CREATETABLEabsence(student_
3、idint(10)unsignedDEFAULT'0'NOTNULL,datedateDEFAULT'0000-00-00'NOTNULL,PRIMARYKEY(student_id,date));##Dumpingdatafortable'absence'#INSERTINTOabsenceVALUES(3,'1999-09-03');INSERTINTOabsenceVALUES(5,'1999-09-03');INSERTINTOabsenceVALUES(10,'1999-09-08');...... 文件剩下的部分有更
4、多的INSERT和CREATETABLE语句组成。例:%mysqldumpsamp_db>/opt/mysqldatabak/samp_db.2006-5-15%mysqldumpsamp_db
5、gzip>/usr/archives/mysql/samp_db.1999-10-02.gz#产生压缩备份%mysqldumpsamp_dbstudentscoreeventabsence>grapbook.sql#备份数据库的某些表%mysqladmin-hboa.snake.netcreatesamp_db%mysqldumpsam
6、p_db
7、mysql-hboa.snake.netsamp_db#直接恢复到另一个服务器上使用--add-drop-table选项告诉服务器将DROPTABLEIFEXISTS语句写入备份文件,这样当我们以后用来恢复数据库时,如果表已经存在,你不会得到一个错误。%mysqldump--add-drop-tablesamp_db
8、mysql-hboa.snake.netsamp_dbmysqldump其它有用的选项包括:--flush-logs和--lock-tables组合将对你的数据库检查点有帮助。--lock-tables锁
9、定你正在倾倒的所有表,而--flush-logs关闭并重新打开更新日志文件,新的更新日志将只包括从备份点起的修改数据库的查询。这将设置你的更新日志检查点位备份时间。(然而如果你有需要执行个更新的客户,锁定所有表对备份期间的客户访问不是件好事。)如果你使用--flush-logs设置检查点到备份时,有可能最好是倾倒整个数据库。如果你倾倒单独的文件,较难将更新日志检查点与备份文件同步。在恢复期间,你通常按数据库为基础提取更新日志内容,对单个表没有提取更新的选择,所以你必须自己提取它们。缺省地,mysqldump在写入前将一个表的整个
10、内容读进内存。这通常确实不必要,并且实际上如果你有一个大表,几乎是失败的。你可用--quick选项告诉mysqldump只要它检索出一行就写出每一行。为了进一步优化倾倒过程,使用--opt而不是--quick。--opt选项打开其它选项,加速数据的倾倒和把它们读回。用--opt实施备份可能是最常用的方法,因为备份速度上的优势。然而,要警告你,--opt选项确实有代价,--opt优化的是你的备份过程,不是其他客户对数据库的访问。--opt选项通过一次锁定所有表阻止任何人更新你正在倾倒的任何表。你可在一般数据库访问上很容易看到其效果
11、。一个具有--opt的相反效果的选项是--dedayed。该选项使得mysqldump写出INSERTDELAYED语句而不是INSERT语句。如果你将数据文件装入另一个数据库并且你想使这个操作对可能出现在该数据库中的查询的影响最小,--delayed对此很有帮
此文档下载收益归作者所有