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

标签 mysql backup cron database

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

  • DB1 = 35 兆
  • 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 选项覆盖它,但您可以保证备份中不会有一些不一致的数据。

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

关于mysql - 一次备份多个数据库[MySQL]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2219406/

相关文章:

php - 我的代码执行完成花费了太多时间

Mysql - 我的订单发生了什么?

mysql - 过滤连接结果

备份写入: access denied on reparse points

linux - 服务器上的 Cron 脚本错误

java - 从属性文件更新 Spring @Scheduled Cron

python - 快速检查主表中的匹配 ID 的方法?

android - 关于Android M新的自动备份功能的问题

backup - VMWare 服务器 : Best way to backup images

php - 使用 php7 版本在 cpanel 上运行 cron 作业