我想远程备份我的mysql服务器。我有三个问题,一个要求。
我尝试过使用automysqlbackup脚本,但是它是锁定表的,而且由于连接速度慢,需要花费很长时间,站点就会崩溃。
我不想使用复制,我的第二台服务器也有自己的应用程序,在另一台服务器中有很多写操作。我没有足够的资源。
我不想使用xtrabackup (它不是解决主要问题,而是锁定问题),我有一个糟糕的经验。
备份应该首先存储在本地,然后是GZIPed,然后再传输。
主服务器应该只保留一个副本(或者最好是文件大小限制,所以如果任何备份失败,它仍然会保留旧备份) Automysqlbackup脚本没有我可以设置的限制。(因此,我可以使用automysqlbackup进行本地备份,并限制分配的磁盘空间)
我可以使用SFTP和chroot用户并检索备份。
备份服务器应该保持无限(或100个)的文件数量。它不应该删除像主服务器这样的文件。
我要写几个剧本吗?或者有什么预先制定的解决方案吗?(可能还有更多的功能)
发布于 2011-08-06 23:06:12
听起来您的需求是足够定制的,因此您需要编写自己的脚本。关于这个问题的几个说明:
--single-transaction选项转换为mysqldump。整个转储/推送脚本应该是5行左右。这很微不足道。
发布于 2011-08-06 21:47:04
你得自己写剧本。
考虑到您不需要扩展锁定,并且看起来您在主服务器上有空间,我建议您启动第二个mysql实例,以便在主服务器上进行复制,并从复制从服务器进行备份。
不建议只使用一个副本。有很多服务可以为您提供非常低成本的备份空间。例如,您可以使用amazon进行备份,或者查找其他空间提供程序。它将花费您低于10美元/月,但允许多个备份(一个星期或更多),因此,您将没有任何问题,你现在。
其他变体:获取hetzner.de或其他低成本VPS并在其上安装replication+backup。
发布于 2011-08-07 00:44:00
如果您的大部分数据都是无害的,那么请查看Xtrabackup。
如果您有无害数据库,那么使用它的好处是在备份时它不会锁定表。
https://serverfault.com/questions/298465
复制相似问题