同一数据库 MySQL 的两个 SCHEMA

Die*_*ego 2 mysql database schema mysql-workbench

我对 MySQL 比较陌生,而且很喜欢它。
我想做的是在同一个数据库上有两个不同的模式。——实际上,我对这种情况下的术语感到困惑——所以请允许我向您描绘整个情况。

我有一个数据库(比如金融数据库),我正在该数据库上运行(风险数学)模型。因此,我将数据库加载到计算机中并使用另一个程序对其进行操作。
为了测试模型,我需要加载该数据库的先前备份(例如上个月的备份)并运行该模型,就像我生活在过去一样,然后使用本月的数据进行测试。

据我了解,此备份替换了我已经使用的数据库。这对我来说并不是最佳选择,因为从那时起我必须重新加载同一数据库的当前版本。理想情况下,我希望将它们都存储在我的计算机中并从一个切换到另一个,而不是每次都重新加载。

如果有人能给我一些指导,我将不胜感激。祝你有美好的一天。

Mik*_*hke 5

第一:databaseschema是一样的。两者是可以互换的(在 MySQL 中)。模式是数据库服务器中的顶级结构,包含属于它的所有其他数据库对象。MySQL 中还有目录的概念(作为真正的顶级结构),但迄今为止从未使用过。

当创建到同一服务器的 2 个连接时(您正在创建到服务器而不是数据库的连接),无论您选择哪个连接,您都将访问相同的对象,从而访问相同的数据(取决于用于连接的用户的权限) )。所以,这对你的情况没有帮助。

您可以拥有任意多个模式,例如,如所建议的,开发模式和生产模式。它们都可以存储在同一数据库服务器中,并且可以包含完全相同的内容。通过转储,您可以创建另一个用于测试的模式。MySQL Workbench 允许将其恢复到与转储文件中指定的模式不同的模式。

在此输入图像描述

现在,为了在当前数据和旧数据之间切换,您有 2 个选项:

  1. 重命名您的模式,以便您当前要使用的模式具有应用程序中使用的标准名称。
  2. 使您的应用程序可配置为通过设置、命令行参数等接受数据库/模式名称。

第二种显然更灵活,特别是如果您开始拥有更多历史数据(在更多模式中)。