如何从mysql备份大量小表?

如何从mysql备份大量小表?

有没有首选的方法来备份 MySQL 中的配置数据库?

我指的是一个包含约 160 个表的架构,其中大多数表的数据行数少于 100 行。每个月只有一两个表发生变化。恢复;当需要恢复时,通常只有一个表。

目前的方法是每晚备份整个数据库。

是否有一种简单的方法可以把表逐个转储到目录树中,然后将其添加到源代码控制中?

答案1

您可以编写一个脚本来调用 mysql 命令行并选择出表:

类似于(这可能不会运行):

#!/bin/bash

OUTDIR="./tmp"

CONFTABLES=`echo "SHOW TABLES;"|mysql -u<username> -p<passwd> <CONFDB>`

for i in CONFTABLES ; do
  echo "select * from $i;" > $OUTDIR/$i
done;

cd tmp
svn ci -m "<maybe the date as the comment>"

答案2

我用自动mysql备份脚本来维护我的数据库的版本备份。它保存了您的每日/每周/每月备份的目录树。它还可以通过电子邮件向您发送备份日志,让您轻松确保备份正在运行

至于把这些放入版本控制中,我想你可以这样做。但是,这样做效率会很低,因为它只是压缩的二进制数据。

相关内容