繁体   English   中英

一次备份多个数据库[MySQL]?

[英]Backup multiple Databases[MySQL] at 1 time?

嗨,我有多个数据库需要每天备份。 当前,我正在使用cronjob设置一个批处理文件来备份它。 这是我的情况,我大约需要备份10个数据库,其中3个正在快速增长,让我向您展示当前的数据库大小:

  • DB1 = 35 mb
  • DB2 = 10 mb
  • DB3 = 9兆字节
  • 其余:DBx = 5 mb

我的批处理文件代码是:

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

我已经运行了2天,对我来说还可以。 但是我不知道这是否会在执行批处理文件时影响我的网站性能。

如果此方法不好,如何在运行中备份多个数据库,并且数据库的大小每天都在增加?

这取决于表的类型。 如果表是innoDB,则应该使用--single-transaction标志,以便转储是连贯的。 如果您的表是MyISAM,那么您将遇到一个小问题。 如果按原样运行mysqldump,则转储将导致表在执行转储时锁定(不写)。 随着数据库的不断扩大,这显然是一个巨大的瓶颈。 您可以使用--lock-tables=false选项覆盖此设置,但是可以保证备份中不会包含一些不一致的数据。

理想的解决方案是在生产环境之外安装备份复制从属服务器以进行转储。

如果您仍在寻找实现此目标的方法,则可能会对以下内容感兴趣: this

它使用转储为每个数据库创建一个文件,并使您节省大量时间,而只需进行第一个配置。

希望能有所帮助,问候。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM