繁体   English   中英

如何快速克隆mysql innodb数据库

[英]How to clone mysql innodb database quickly

我们使用MySQL(innodb)来存储我们的数据。 我们有集成测试,可以启动mysql数据库(通过docker容器)并连接到数据库。 我们将MyISAM用于测试DB(原因如下所述)。

我们的方式是,第一个测试将sql架构加载到模板DB中,后续测试将使用文件副本简单地克隆DB。 由于MyISAM在文件复制方面工作正常,我们只需将整个数据库目录复制到一个新目录,我们为每个测试都有一个新的克隆数据库。 这一直运行良好,特别是我们的集成测试在几秒钟内运行。

但是,随着我们添加更多测试,我们继续发现由于InnoDB和MyISAM之间的差异而导致的问题(索引大小,外键约束等等)。 我们希望将测试数据库移动到使用InnoDB,但希望保持快速的克隆操作。 执行mysqldump和恢复将需要30秒以上,而今天需要100毫秒。

我的问题是,有没有办法快速克隆InnoDB?

备份InnoDB数据库的一种更快的方法是使用像innobackupex这样的工具。

如果首先使用FLUSH TABLES ,您还可以对数据库进行映像,以一种在快照时应该保持一致的方式将所有内容提交到磁盘。 某些服务(例如Amazon EC2)允许对运行的实例进行映像,以后可以单独启动或用作备份还原点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM