2014-09-02 289 views
0

我对MySQL比较新,我很喜欢它。
我想要做的是在同一个数据库上有两个不同的SCHEMAS。 - 事实上,我对这个案例中的术语感到困惑 - 所以请允许我画出整幅图片。相同数据库的两个SCHEMA MySQL

我有一个数据库(比如财务),我正在运行一个(风险数学)模型。所以我将数据库加载到我的电脑中,并使用另一个程序进行操作。
为了测试模型,我需要加载上一个数据库的上个月的备份,并像以前一样运行模型,然后使用本月的数据进行测试。

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

如果有人能给我一些指导,我会感激。 祝您有美好的一天。

+0

['RENAME DATABASE'](http://dev.mysql.com/doc/refman/5.1/en/rename-database.html)。只要有“生活”和“发展”,并在它们之间重新命名。您的应用程序始终使用相同的名称,只需通过适当重命名即可更改实际发生的数据库。 – 2014-09-02 16:35:34

+0

你可能想看看时间点架构 - 但那些东西超出了我的薪酬等级。 – Strawberry 2014-09-02 16:59:12

+0

@MarcB我可以在什么级别 - 我应该区分它们(模式,数据库)吗?我在客户端(Workbench)中创建了两个连接,但后来发现在一个连接中加载一个备份,在另一个连接中修改数据。 – Diego 2014-09-02 17:26:17

回答

2

第一:databaseschema是一样的。两者都是可交换的(在MySQL中)。模式是数据库服务器中的顶层结构,其中包含属于它的所有其他数据库对象。

创建到同一服务器的2个连接(您正在创建与服务器而不是数据库的连接),您将访问相同的对象并因此访问相同的数据,无论您选择哪个连接。所以,这对你的情况没有帮助。

您可以根据自己的喜好制定多个模式,例如,如所建议的,开发模式和生产模式。它们都可以存储在同一个数据库服务器中,并且可以包含完全相同的内容。借助您的转储,您可以创建另一个测试模式。 MySQL Workbench允许将其恢复到不同于转储文件中规定的模式。现在

enter image description here

,以当前和旧数据之间进行切换,你有两个选择:

  1. 重命名你的模式,让你想在那一刻一起工作的人有在您的应用程序中使用的标准名称。
  2. 让您的应用程序配置通过设置来接受一个数据库/模式名称,命令行PARAMS等

第二显然更加灵活,尤其是当你开始有更多的历史数据(更模式)。

+0

这是为我做的。谢谢。 – Diego 2014-09-18 14:45:46

相关问题