7

我正在使用Mysql工作臺爲我的應用程序開發我的數據庫。Mysql工作臺同步不同的數據庫

我至少使用兩個數據庫,例如:

  • my_local:它總是與MySQL工作臺同步我的本地測試數據庫
  • myserver_database:在服務器的最終數據庫,保持記住這個數據庫正在生產中,用戶將會更新它並且我不能丟失存儲在其中的任何信息

現在我可以,我想每次synchronyze我的數據庫,但我不能找到一種方式,因爲他們有不同的名稱,以更新方案到最終的服務器,我得到的東西,如:

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

在過去,我只是在mysql workbench中重命名了數據庫,但它似乎沒有工作了,可能是因爲一個bug。

我希望能夠將同一工作臺方案與不同的數據庫同步,而不管數據庫名稱如何,即使通過修改default_scheme,我也沒有找到強制數據庫名稱的方法。

請記住,我會做很多次,所以如果可能的話,最好避免出現三重或危險的解決方案。

+0

這不是一個關於你的問題。您可以嘗試使用dbForge Studio for MySQL中的架構和數據比較工具的幫助來比較和同步數據庫 - http://www.devart.com/dbforge/mysql/studio/ – Devart

+0

@Devart我很滿意所有在mysql工作臺的功能,它是100%免費; 我只需要解決這個簡單而愚蠢的錯誤;我不明白爲什麼它總是使用數據庫的顯式名稱,而不是使用選定的名稱。 – Plokko

回答

5

我知道這個問題是相當古老的,但我能夠做到這一點在工作臺5.2.40,並沒有很多更新資源在線解釋如何。

首先,我得到了我的舊數據庫的腳本:

mysqldump -no-data myolddb > script.sql 

(我只想同步的模式,這可以在工作臺上做太)

現在的關鍵是要修改腳本通過添加use mynewdb;作爲其第一行,這樣工作臺將不會說N/A或默認模式廢話。

在工作臺上,我在服務器上創建了mynewdb的EER模型,然後使用腳本I在嚮導中選擇「模型Schemadata」至「腳本文件」最初修改。然後Synch嚮導就像它應該那樣工作。

+0

謝謝!訣竅是與腳本進行同步,而不是與活動數據庫進行同步。 – jocull