如何从mysql备份很多小表?

有一个首选的方法来备份MySQL中的configuration数据库?

我正在谈论一个具有〜160个表的模式,其中大多数表的数据less于100行。 在任何给定的月份里,只有一两张表会发生变化。 恢复; 当他们需要发生时,通常只是一张桌子。

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

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

你可以创build一个脚本来调用mysql命令行并select表格:

像(这可能不会运行):

#!/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>" 

我使用automysqlbackup脚本来维护我的数据库的版本化备份。 它保持每日/每周/每月备份的目录树。 它还能够通过电子邮件发送备份日志的日志,使您可以轻松地确保备份正在运行

至于把这些在版本控制,我想你可以做到这一点。 这将是相当无效的,因为它只是压缩的二进制数据。