2017-06-23 87 views

回答

1

是的,你可以:

運行此要複製在數據庫上:

mysqldump --no-create-info {yourdbname} > {yourdbname}.sql 

然後在數據庫上要導入此:

mysql {yourdbname} < {yourdbname}.sql 

你可能會遇到主鍵和/或重複記錄的問題。遺憾的是,從那一刻起,您將不得不生成SQL以使用更改的主鍵導出數據,同時保持外鍵關係不變。

這第二個複雜的問題,需要一個過程來查詢信息模式:

  • 選擇從信息架構中的表名
  • 使用信息模式
  • 選擇最多選擇主鍵(主鍵)爲每個表。
  • 使用信息模式創建SELECT查詢,其中您將以前的max(主鍵)添加到主鍵,並將輸出寫入數據文件。

有關外鍵的問題,您還必須從相關表中添加相同的max(主鍵)值。 這將是一個更多的代碼來寫,但50-80行存儲過程應該這樣做。

+0

是否有可能在我的情況下,因爲我有2個數據庫在2碼頭機 – pwan

+0

嚴重取決於您的數據。 –

+0

mysqldump將創建一個文件調用{mydatabase} .sql,然後我可以將該文件帶到另一個docker機器並執行你說的第二個命令。是對的嗎? – pwan

相關問題