2012-12-16 56 views
0


如何將InnoDB表從一臺PC移動到另一臺PC?

我有一個'admin'表,我想將所有數據從一個位置移動到另一個位置。如果我使用MyISAM引擎,那麼我會在數據文件夾中爲'admin'表獲取3個文件'admin.frm','admin.MYD'和'admin.MYI',並且我可以將這些文件複製並粘貼到另一個位置並運行桌子。但如果我使用InnoDB引擎,那麼我只在數據文件夾中獲得'admin.frm',並且在將該文件複製到另一個位置時,該表無法運行。

有人請告訴我如何將InnoDB表從一個位置移動到另一個位置?

- 謝謝。

編輯:(我需要傳輸的數據和結構太(如整個表)。我希望它簡單的複製粘貼像MyISAM表文件是可能的,如何?)

回答

2

如果你只是需要傳輸的數據可能是簡單的使用內置的工具,所以......

使用mysqldump讓你的桌子,一個很簡單的例子:

mysqldump -u USERNAME -p DATABASE admin > admin.sql 

然後在其他計算機上:

mysql -u USERNAME -p DATABASE < admin.sql 
+0

我需要傳輸的數據和結構太(如整個表)。我希望它簡單的複製粘貼像MyISAM表文件。這怎麼可能 ? – user1844626

+1

mysqldump將同時備份數據和結構。 –

+1

默認情況下,mysqldump應該包含create info,它會有一個CREATE TABLE語句。除非在兩臺計算機上具有相同的my.cnf並且位於相同主要版本,否則不應該複製MyISAM文件。 – Aea

1

爲什麼不使用mysqldump將所有數據轉儲到可以在其他機器上運行的文件?

0

Innodb的移動使用5.6版本的表空間的方法:

1)在源服務器上創建與目標服務器/數據庫相同的空表。

2)放棄目標服務器上的表空間。

Alter Table table_name discard tablespace. 

3)複製.FRM和的.ibd到目標服務器執行源服務器上的「齊平的表與讀鎖定」之後。

4)目標服務器上導入的表空間:

ALTER TABLE table_name IMPORT TABLESPACE; 
相關問題