我有linux centos 6.4服务器和mysql5.6
我有一项cron任务,用于按小时备份mysql数据库,如下所示
巨蟒
os.popen("mysqldump -u %s --password=%s -h %s -e --opt --skip-lock-tables --skip-extended-insert -c %s | gzip -c > %s.gz" % (username, password, hostname, database, filename))问题是,很少有数据被捕获,但是每次我必须备份所有数据库24次,这就占用了太多的空间。
什么是最好的替代方案?
是否有任何方法可以进行增量备份,以便对数据库每周进行1次完全备份,然后只进行增量备份。
我希望为不同的数据库拥有单独的文件,这样如果我需要恢复单个数据库,那么我也可以这样做。
发布于 2013-07-14 08:53:29
非常简单:绑定日志。配置mysql,使二进制日志至少保存一天(可能更长)。然后将备份更改为不执行mysqldump,而是使用类似xtrabackup的内容。
这样,您就可以将备份计划减少到每天一次,并且仍然可以使用binlog将备份时间前滚到任何时间点。
发布于 2013-07-14 08:41:50
在大多数情况下,每小时备份一次是非常愚蠢的。也许您需要考虑将mysql复制到另一个节点。
发布于 2013-07-14 14:09:09
您可以使用xtrabackup执行增量备份。若要还原单个数据库,请准备完整的增量备份(包括所有数据库),然后使用xtrabackup目录作为数据集运行MySQL,并接受所需单个数据库的mysqldump。
https://serverfault.com/questions/523189
复制相似问题