如何将InnoDB表从一台PC移动到另一台PC?

时间:2012-12-16 02:04:35

标签: mysql innodb


我有一个表'admin',我希望将所有数据从一个位置移动到另一个位置。如果我使用MyISAM引擎,那么我在数据文件夹中为'admin'表获取3个文件'admin.frm','admin.MYD'和'admin.MYI',我可以将这些文件复制并粘贴到另一个位置并运行桌子。但如果我使用InnoDB引擎,那么我只在数据文件夹中获得'admin.frm',并且在将该文件复制到另一个位置时,该表无法运行。

有人请告诉我如何将InnoDB表从一个位置移动到另一个位置?

-Thanks。

编辑: (我也需要传输数据和结构(作为整个表格)。我想要像MyISAM表文件一样简单的复制粘贴。是否可能?并且怎么样?)

3 个答案:

答案 0 :(得分:2)

如果您只需要传输数据,那么使用内置工具可能会更简单,因为......

使用mysqldump获取表格,这是一个非常简单的例子:

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

然后在另一台计算机上:

mysql -u USERNAME -p DATABASE < admin.sql

答案 1 :(得分:1)

为什么不使用mysqldump将所有数据转储到可以在另一台机器上运行的文件中?

答案 2 :(得分:0)

使用5.6版本中的表空间方法移动Innodb:

1)在目标服务器/数据库上创建与源服务器相同的空表。

2)丢弃目标服务器上的表空间。

Alter Table table_name discard tablespace.

3)执行&#34;使用读锁定&#34;刷新表后,将.frm和.ibd复制到目标服务器在源服务器上。

4)在目标服务器上导入表空间:

ALTER TABLE table_name IMPORT TABLESPACE;