Mysql工作台同步不同的数据库

时间:2011-11-04 00:20:04

标签: mysql database synchronization mysql-workbench mysql-gui-tools

我正在使用Mysql工作台为我的应用程序开发我的数据库。

我至少使用两个数据库,例如:

  • my_local :我的本地测试数据库,它始终与mysql workbench同步
  • myserver_database :服务器中的最终数据库,请记住此数据库正在生产中,用户将更新它并且我不能丢失存储在其中的任何信息

现在我可以在每次需要时同步我的数据库,但是我找不到将方案更新到最终服务器的方法,因为它们有不同的名称,我得到类似的东西:

my_local => N/A
N/A      <= myserver_database

过去我只是在mysql workbench中重命名数据库,但它似乎不再起作用,可能是因为一个bug。

我希望能够将相同的工作台方案与不同的数据库同步,无论数据库名称如何,即使修改default_scheme,我也没有找到强制数据库名称的方法。

请记住,我会做很多次,所以如果可能的话,最好避免使用混乱或危险的解决方案。

1 个答案:

答案 0 :(得分:5)

我知道这个问题已经很老了,但我能够在工作台5.2.40上做到这一点,并且网上没有很多更新的资源来解释如何。

首先我得到了一个旧数据库的脚本:

mysqldump -no-data myolddb > script.sql

(我只想同步模式,这也可以在工作台上完成)

现在的诀窍是通过添加use mynewdb;作为第一行来修改脚本,这样工作台就不会说N / A或默认模式无意义。

在工作台上,我创建了mynewdb的EER模型,该模型位于我的服务器上,然后是“Database-&gt; Synchronize with any sources”,并使用脚本I从向导中的“model Schemadata”到“Script file”中选择最初修改。然后Synch向导就像它应该的那样工作。