创建实时 InnoDB MySQL 数据库的本地副本的最快方法?

BT6*_*643 3 mysql innodb mysql-workbench mysql-5.5 restore

我们有一个MySQL database (InnoDB)在我们live Ubuntu 12.04 server已经成长相当大(25GB +)。

每个月左右,我们都需要将此数据库复制到我们的开发机器上,以便在本地工作。

以前我们使用 导出数据库MySQL Workbench,将.sql文件下载到我们的开发机器,然后再次使用MySQL Workbench. 问题是现在数据库太大了,我们无法快速恢复以使其在周末完成!所以周一早上我们有一个半导入的数据库可以使用。

在这种情况下,其他人会怎么做?

到目前为止,我能想到的唯一解决方案是对未使用的机器进行恢复,然后copying将数据恢复到我们所有的开发机器(其中 5 台)。这行得通吗?

aku*_*sky 6

您可以使用Xtrabackup从实时 MySQL 进行备份

Percona 为 Ubuntu 提供了 deb 存储库。要为 Ubuntu 12.04 安装 repo,请按照说明进行操作

要获取数据库的副本,请运行以下命令:

    # innobackupex .
Run Code Online (Sandbox Code Playgroud)

它将创建一个类似于“2010-03-13_02-42-44”的目录。将该目录复制到开发框,应用重做日志:

    # innobackupex --apply-log /data/backups/2010-03-13_02-42-44/ 
Run Code Online (Sandbox Code Playgroud)

然后该目录就可以使用了。将其复制回 MySQL datadir 并修复所有权:

    # cp /data/backups/2010-03-13_02-42-44/ /var/lib/mysql
    # chown -R mysql:mysql /var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

然后你可以启动MySQL。

您可以在http://www.percona.com/doc/percona-xtrabackup/2.1/how-tos.html 上找到更多详细信息