有没有首选的方法来备份 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备份脚本来维护我的数据库的版本备份。它保存了您的每日/每周/每月备份的目录树。它还可以通过电子邮件向您发送备份日志,让您轻松确保备份正在运行
至于把这些放入版本控制中,我想你可以这样做。但是,这样做效率会很低,因为它只是压缩的二进制数据。