2010-03-22 105 views
0

如何將一臺服務器上的一個MySQL數據庫中的特定行傳輸到另一臺完全不同的服務器中的另一臺MySQL數據庫。模式也不一定必須相同。例如,在服務器「A」上,我可以有一個帶有2列的用戶表,並且在服務器「B」上有一個包含4列的用戶表。將記錄從一個MySQL數據庫傳輸到另一個數據庫

謝謝。在服務器A

回答

1

你應該澄清的具體行'並指定是否只有一個表或多個表。

mysqldump的[選項] [DB_NAME [tbl_name ...]]可以做很多
-c將創建一個列名插入
-w將應用WHERE條件,例如-w 「用戶ID = 1」

所以

mysqldump -c -w"column=value" db table > table.sql 

可能讓你那裏。

插入與列名會略有不同的模式工作(取決於裁判的完整性)

0

等於4列的表格,INSERT SELECT的數據轉換成表格,然後進行表的SQL轉儲,然後執行服務器B上傾,

0

如果你的表是不是太大,我建議首先對你是從獲取數據的一側建立一個tmp目錄表。 tmp表應該與要導出數據的一側的列匹配。將所有導出表插入到tmp表中。使用在另一端

mysqldump --no-create-db --no-create-info db tmptablelist > dump.sql 

進口:

要創建TMP表,你會因此像這樣:

create table tmpuser as select col1, col2, ... from user; 

然後將數據傳輸

mysql db < dump.sql 
相關問題