是否可以从 MySQL 服务器中提取上个月的值并从这些值构建新数据库?

Ita*_*not 8 mysql centos5

我有一个任务来构建一个开发虚拟机模板。

我需要将我公司的每一种产品的 MySQL 数据库添加到服务器,以便新开发人员能够为每一种产品进行开发。

大多数数据库都小于 1GB。

但是我有一些很大的数据库(大约 160G) - 但是我在尝试创建的模板的大小方面受到限制,并且在那里添加 160GB 的 DB 是不合理的。

因此,我试图找到正确的方法来从这个庞大的数据库中提取上个月的值并将它们添加到服务器,以便开发人员能够“感受”在这个数据库上工作的感觉。

是否有可能做这样的事情,它是如何完成的?谢谢!

编辑:

不幸的是,没有选择单独的主数据库服务器来保存所有开发数据库,​​也不需要定期更新数据,我只需要提供与生产服务器中相同的数据(在随机时间段)作为新开发人员的沙盒环境。

gre*_*ius 8

如果我理解正确,您计划为每个开发环境制作一个单独的数据库副本。

虽然这对于小型数据库可能是可行的,但对于大型数据库则无法很好地工作。因此,除非您有充分的理由为每个环境设置单独的数据库,否则最好考虑拥有开发数据库的单个副本并将所有开发环境设置为使用它。

这种方法将允许您定期使用最新数据刷新开发数据库,​​如果有人搞砸了,您可以再次刷新它。

还要想象一下您的开发人员开始处理一些需要创建新表的新项目的情况。如果您有开发数据库的单个副本,您(或开发人员)将需要创建这些表并只用一次测试数据填充它们。现在想象开发人员意识到初始表结构不是最佳的,需要更改。同样,这需要在单个数据库上完成,而不是可能有数十个环境。

这是我一次又一次地在大型项目中看到的方法,而且大多数情况下它都运行良好。

  • 在我工作的商店中,每个开发人员都有自己的数据库副本,因此没有人会踩到其他人的脚趾。这对我们来说效果很好。我们有脚本从头开始重建数据库,并用开发所需的测试数据填充它。单个数据库经常出现问题,因为在某些数据库领域工作的人会为其他人破坏它。然后当一个大数据库正在恢复时,每个人都停下来。因此,拥有一个数据库并不是一个很好的解决方案。(TBH 也不是。视情况而定。) (2认同)