【问题标题】:MySQL: Automated incremental backups of InnoDB tablesMySQL:InnoDB 表的自动增量备份
【发布时间】: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

标签: mysql backup innodb


【解决方案1】:

slave 是一个单独的 mysqld 进程吗?

没有必要使用单独的mysql守护进程,
在 master 中启用二进制日志
在slave中配置relay-bin,以及master上的相关信息
(见http://dev.mysql.com/doc/refman/5.0/en/replication-howto.html

slave可以和master运行在同一台机器上吗?

可以,但不要这样做
因为一旦机器崩溃,
你的主人和奴隶都不见了
(DTP)

设置并运行后,是否需要任何干预,或者 Master 是否会忠实地推送所有更新?

大师会如实推送所有更新,
master 将写入的 sql 记录到二进制日志中,
从机应该获取二进制日志(正如@Johan 解释的,它从主机拉)

然而,

  1. 表锁定可能导致从属设备上的复制延迟
  2. 无法在从属设备上执行的写入查询失败

您可以将复制视为一种允许所有 sql 在 master 上执行的方法,
复制到从站,
并按接收顺序再次执行
(这就是二进制日志的作用)

为了在不影响Master的情况下进行备份,大概我可以在slave上运行mysqldump?

当然,这是拥有slave的目的
但是,会有一些延迟...
当您转储数据时,
您可能会阻止表写入(假设 innodb 影响较小),
而master可以继续写下去

最后,这是维护备份以进行异地复制的合理解决方案吗?

是的,这被认为是 mysql 灾难恢复

【讨论】:

  • +1,但是主服务器推送,从服务器读取二进制日志并从中
【解决方案2】:

slave 是一个单独的 mysqld 进程吗?

可以,但更常见的是安装在不同机器上的单独 MySQL 服务器。

slave可以和master运行在同一台机器上吗?

是的,如果必须,只需为其分配一个不同的端口号和不同的 server_id。
请注意,如果它在同一台机器上,它的备份并不多。

设置并运行后,是否需要任何干预,还是 Master 会忠实地推送所有更新?

master 没有 push 任何东西,slave pulls 更新。

为了在不影响主服务器的情况下进行备份,大概我可以在从服务器上运行 mysqldump 吗?

是的,但是如果主服务器和从服务器运行在同一台机器上,运行 mysqldunmp 减慢该服务器的速度。

最后,这是维护用于异地复制的备份的合理解决方案吗?

是的,站外是这里的关键字。
我会将奴隶放在异地,这比将奴隶放在同一台机器上更有意义。

这里有教程
http://www.howtoforge.com/mysql_master_master_replication

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-05
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多