如果我在一個活動服務器上有一個帶有多個表的MySQL數據庫,現在我想將這個數據庫遷移到另一個服務器。當然,我的意思是這裏的遷移涉及到一些數據庫表格,例如:爲幾個表格添加一些新列,添加一些新表格等等。現在,我能想到的唯一方法是使用一些php/python(兩個我知道的腳本)腳本,連接兩個數據庫,從舊數據庫轉儲數據,然後寫入新數據庫。但是,這種方法根本沒有效率。例如:在舊數據庫中,表A有28列;在新的數據庫中,表A有29列,但對於所有舊行,額外列的默認值爲0。我的腳本仍然需要逐行轉儲數據,並將每行插入到新數據庫中。關於MySQL數據庫遷移的問題
使用MySQLDump等..將無法正常工作。這是細節。例如:我有四個舊數據庫,我可以將它們命名爲'DB_a','DB_b','DB_c','DB_d'。現在舊錶A有28列,我想用新的列ID'DB_x'(x來表示它來自哪個數據庫)將表A中的每一行添加到新數據庫中。如果我無法通過行的內容區分數據庫ID,唯一可以識別它們的方法是通過一些用戶輸入參數。
有沒有比自己編寫腳本更好的工具或更好的方法?在這裏,我不需要擔心多線程寫入問題等。我的意思是舊的數據庫將關閉(不公開使用等,僅用於升級)一段時間。
謝謝!
好吧,轉儲數據然後更改模式在這裏不起作用。實際情況是:我需要將當前4個數據庫合併爲1個。我將更詳細地修改我的問題。 – WilliamLou 2010-04-20 21:42:07