如何將一臺服務器上的一個MySQL數據庫中的特定行傳輸到另一臺完全不同的服務器中的另一臺MySQL數據庫。模式也不一定必須相同。例如,在服務器「A」上,我可以有一個帶有2列的用戶表,並且在服務器「B」上有一個包含4列的用戶表。將記錄從一個MySQL數據庫傳輸到另一個數據庫
謝謝。在服務器A
如何將一臺服務器上的一個MySQL數據庫中的特定行傳輸到另一臺完全不同的服務器中的另一臺MySQL數據庫。模式也不一定必須相同。例如,在服務器「A」上,我可以有一個帶有2列的用戶表,並且在服務器「B」上有一個包含4列的用戶表。將記錄從一個MySQL數據庫傳輸到另一個數據庫
謝謝。在服務器A
你應該澄清的具體行'並指定是否只有一個表或多個表。
mysqldump的[選項] [DB_NAME [tbl_name ...]]可以做很多
-c將創建一個列名插入
-w將應用WHERE條件,例如-w 「用戶ID = 1」
所以
mysqldump -c -w"column=value" db table > table.sql
可能讓你那裏。
插入與列名會略有不同的模式工作(取決於裁判的完整性)
等於4列的表格,INSERT SELECT的數據轉換成表格,然後進行表的SQL轉儲,然後執行服務器B上傾,
如果你的表是不是太大,我建議首先對你是從獲取數據的一側建立一個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