如何备份mysql数据库

网站数据对我们对站长来说都是最宝贵的,我们平时应该养成良好的备份数据的习惯。这样可使我们数据库崩溃造成的损失大大降低。
  在MySQL中进行数据备份的方法有两种:

   1. mysqlhotcopy
  这个命令会在拷贝文件之前会把表锁住,并把数据同步到数据文件中,以避免拷贝到不完整的数据文件,是最安全快捷的备份方法。
  命令的使用方法是:
  mysqlhotcopy -u root -p db1 db2 … dbn 
  如果需要备份全部数据库,可以加上–regexp=”.*”参数。
  Mysqlhotcopy命令可自动完成数据锁定工作,备份时不用关闭服务器。它还可以刷新日志,使备份文件和日志文件的检查点能保持同步。

    2. mysqldump

 

  这个命令是用来把数据库倒成sql文件的,是非常古老的命令了。
  命令的使用方法是:
  mysqldump -u root -p –hex-blob db1 > db1.sql
  加上–hex-blob参数以后,blob数据会被类似BASE64的方法转换为文本来存储在sql文件中,就不会导致sql文件格式问题了。经过测试,通过这种方法备份的blob数据再重新恢复回去能够完全正确。
  如果要备份所有的数据库,可以加上–all-databases参数。
  用mysqldump命令还可直接把数据库转移到另外一台服务器上,不用生成备份文件。重复执行可定期更新远程数据库。
  % mysqladmin -h remote_host create testdb
  % mysqldump –opt testdb | mysql -h remote_host testdb
  另外还可通过ssh远程调用服务器上的程序,如:
  % ssh remote_host mysqladmin create testdb
  % mysqldump –opt testdb | ssh remote_host mysql testdb

     2种数据库备份方式的优缺点:
  使用mysqlhotcopy等程序备份速度快,因为它直接对系统文件进行操作,但是需人为协调数据库数据的备份前后一致性。
  mysqldump程序备份数据库较慢,但它生成的文本文件便于移植。
  对于没有使用InnoDB的数据库,用mysqlhotcopy是最好的方法;否则必须采用mysqldump。不论如何,直接拷贝文件的备份方法应该被废弃了。

     ·总结·

  备份方式各有千秋,而对我们来说,面对数千实例,选择合适的备份工具来实现统一配置、统一规划,构建智能调度的备份云平台才是王道。毕竟,多种备份方式共存的运维成本是不容忽视的。选择多备份,相信是你的不错选择!

转自多备份论坛 http://bbs.dbfen.com/thread-2679-1-1.html

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。