数据库备份期间的数据更改

时间:2014-08-03 07:00:26

标签: mysql database mysql-workbench

我对mysql数据库备份有疑问:

1.AT 8.00.00 AM,我使用mysqldump命令备份数据库。它的somtime需要5秒才能完成。

2.虽然数据库备份正在进行(上午8.00.01 ),但有人会对数据库进行一些更改

步骤2的备份版本是否包含数据更改?

我有goolge但尚未找到解释。请帮助我!

2 个答案:

答案 0 :(得分:0)

Percona为此提供了一个名为xtrabackup的免费工具。

对于InnoDB表,MySQL使用日志文件来存储DML命令,以便可以回滚命令和其他一些内容。
您可以备份数据库(以非锁定方式),并在创建备份后可以应用日志,以便备份在备份完成时保存数据库状态。现在不知道这些命令,不好意思,您必须查看文档。

答案 1 :(得分:-1)

这取决于你的mysqldump命令以及更新时转储所在的表:

  • 如果你使用了--single-transaction选项,那么,不,它不会包含后期更改。
  • 如果您没有使用该选项,那么:
    • 如果尚未转储正在更新的表,则是,它将进行更改。
    • 如果已经更新了正在更新的表格,那么它就不会获得更改。

您可能不希望备份中的更改,因为您希望备份与某个时间点保持一致。以下是关于所有这些事情的更多讨论:

How to obtain a correct dump using mysqldump and single-transaction when DDL is used at the same time?