如何将MySQL数据库还原到某个时间点

时间:2019-06-07 17:06:36

标签: mysql database database-backups database-restore

MySQL数据库用于测试目的,因此我想对此(多个事务)运行后端API测试,以模拟生产中的真实数据库。

测试执行完成后,我想在执行之前还原数据库,以便能够使用该数据库快照运行更多测试。

我没有任何MySQL版本限制,因为它将是一台全新的数据库服务器。

还原数据库的最有效方法是什么?

2 个答案:

答案 0 :(得分:1)

您有很多选择:

  • 使用mysqldump之类的工具创建快照,稍后再从该快照中还原以重置数据库。
  • 在支持ZFS的文件系统上创建卷级快照,然后再还原。
  • 创建一个虚拟机和快照,然后将其还原到快照。大多数虚拟机环境(例如VirtualBox)都支持此功能。
  • 使用具有附加卷的Docker容器,您可以对其进行快照和还原。

答案 1 :(得分:1)

我将使用Percona XtraBackup创建一个物理备份。与mysqldump创建的转储相比,恢复速度要快得多。

如果数据库足够大(超过100GB),那么即使物理备份也不够快。我将使用文件系统的LVM快照。例如,请参见https://www.lullabot.com/articles/mysql-backups-using-lvm-snapshots