嗨,我有多个数据库需要每天备份。目前,我正在使用cronjob设置一个批处理文件来备份它。这里是我的情况,我有大约10个数据库需要备份,其中3个正在快速增长,让我向您展示当前的DB大小:
我的批处理文件代码是:
mysqldump -u root -pxxxx DB1 > d:/backup/DB1_datetime.sql
mysqldump -u root -pxxxx DB2 > d:/backup/DB2_datetime.sql
... and so for the rest我已经运行了两天了,对我来说似乎还不错。但是我想知道,在执行批处理文件时,它是否会影响我的网站性能。
如果这种方法不好,您如何备份多个数据库,而它的活动和大小每天都在增加?
发布于 2010-02-08 03:38:00
这取决于表的类型。如果表是innoDB,那么您应该使用--single-transaction标志,以便转储是一致的。如果您的表是MyISAM,则有一个小问题。如果按原样运行mysqldump,则转储将导致表在执行转储时锁定(不写入)。随着数据库越来越大,这显然是一个巨大的瓶颈。您可以使用--lock-tables=false选项覆盖这个选项,但是您可以知道备份中不会包含一些不一致的数据。
理想的解决方案是在生产环境之外的备份复制从服务器进行转储。
发布于 2012-04-09 13:30:14
如果您还在寻找这样做的方法,您可能会对这感兴趣。
它使用转储为每个数据库创建一个文件,并使您节省大量时间,只进行第一次配置。
希望它能帮上忙,问候。
https://stackoverflow.com/questions/2219406
复制相似问题