首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql备份解决方案

问Mysql备份解决方案
EN

Server Fault用户
提问于 2011-08-06 18:37:36
回答 4查看 550关注 0票数 1

我想远程备份我的mysql服务器。我有三个问题,一个要求。

  1. 我的服务器空间不够。我只能在本地服务器中保存一个备份副本。
  2. 我没有很好的关系。我只能上传1MB每秒。
  3. 我的数据库大小是9GB。
  4. 如果我的远程服务器被黑客攻击,他们就不应该伤害主服务器。

我尝试过使用automysqlbackup脚本,但是它是锁定表的,而且由于连接速度慢,需要花费很长时间,站点就会崩溃。

我不想使用复制,我的第二台服务器也有自己的应用程序,在另一台服务器中有很多写操作。我没有足够的资源。

我不想使用xtrabackup (它不是解决主要问题,而是锁定问题),我有一个糟糕的经验。

备份应该首先存储在本地,然后是GZIPed,然后再传输。

主服务器应该只保留一个副本(或者最好是文件大小限制,所以如果任何备份失败,它仍然会保留旧备份) Automysqlbackup脚本没有我可以设置的限制。(因此,我可以使用automysqlbackup进行本地备份,并限制分配的磁盘空间)

我可以使用SFTP和chroot用户并检索备份。

备份服务器应该保持无限(或100个)的文件数量。它不应该删除像主服务器这样的文件。

我要写几个剧本吗?或者有什么预先制定的解决方案吗?(可能还有更多的功能)

EN

回答 4

Server Fault用户

发布于 2011-08-06 23:06:12

听起来您的需求是足够定制的,因此您需要编写自己的脚本。关于这个问题的几个说明:

  • 您不必将所有内容转储到磁盘中,然后压缩它。使用转储/ gzip管道,它将节省一堆磁盘空间: mysqldump .gzip -c >/var/backup/mysqldump-$(date +%Y-%m%-d).sql.gz
  • 如果使用所有InnoDB表并在事务中转储,则可以使大多数锁定问题消失,并将--single-transaction选项转换为mysqldump。

整个转储/推送脚本应该是5行左右。这很微不足道。

票数 4
EN

Server Fault用户

发布于 2011-08-06 21:47:04

你得自己写剧本。

考虑到您不需要扩展锁定,并且看起来您在主服务器上有空间,我建议您启动第二个mysql实例,以便在主服务器上进行复制,并从复制从服务器进行备份。

不建议只使用一个副本。有很多服务可以为您提供非常低成本的备份空间。例如,您可以使用amazon进行备份,或者查找其他空间提供程序。它将花费您低于10美元/月,但允许多个备份(一个星期或更多),因此,您将没有任何问题,你现在。

其他变体:获取hetzner.de或其他低成本VPS并在其上安装replication+backup。

票数 1
EN

Server Fault用户

发布于 2011-08-07 00:44:00

如果您的大部分数据都是无害的,那么请查看Xtrabackup。

如果您有无害数据库,那么使用它的好处是在备份时它不会锁定表。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/298465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档