【发布时间】:2011-09-01 17:45:34
【问题描述】:
我知道在 SO 和其他地方也有类似/相关的问题,我至少认为我理解各种选项。
我们有一个带有 InnoDB 表的大型 MySQL(社区版)数据库。我想每天拍摄数据库的快照以进行异地备份。目前我正在使用由 cron.daily 运行的 mysqldump 脚本。然而,写出副本需要 3 个小时。所以 - 必须是增量的。
由于我们是社区版,无法负担企业版,我们没有 InnoDB hotcopy,这将是一个可行的解决方案,因为它是非阻塞的。另一个选项是打开二进制日志并进行增量更新。但这似乎是一个巨大的痛苦并且容易出错:刷新和轮换日志、记录时间戳等。建议似乎是尽可能避免这种情况。
所以最后一个选项是使用主从配置设置复制。我已经扫描了文档,但不清楚什么是“主人”以及什么是“奴隶”。所以有几个问题:
- slave 是一个单独的 mysqld 进程吗?
- slave 可以和 Master 在同一台机器上运行吗?
- 一旦设置并运行,是否需要任何干预,还是 Master 会忠实地推送所有更新?
- 为了在不影响主服务器的情况下进行备份,大概我可以在从服务器上运行 mysqldump 吗?
- 最后,这是维护备份以进行异地复制的合理解决方案吗?
谢谢理查德
【问题讨论】:
-
我建议你买这本书:oreilly.com/catalog/9780596003067,它有一个完整的关于复制的章节,将带你一步一步地完成整个过程。许多图书馆也有第一版的副本,其中包含足够的信息来解决您的问题。
-
@Johan - 好的,谢谢您的提示
-
即使是社区版,您也可以使用Percona's XtraBackup