0


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

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

-谢谢。

编辑:(我也需要传输数据和结构(作为整个表)。我想要它像 MyISAM 表文件一样简单的复制粘贴。有可能吗?以及如何?)

4

3 回答 3

2

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

使用 mysqldump 来获取你的表,一个非常简单的例子:

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

然后在另一台计算机上:

mysql -u USERNAME -p DATABASE < admin.sql
于 2012-12-16T02:13:22.053 回答
1

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

于 2012-12-16T02:11:13.863 回答
0

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

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

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

Alter Table table_name discard tablespace.

3) 在源服务器上执行“flush tables with read lock”后,将.frm 和.ibd 复制到目标服务器。

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

ALTER TABLE table_name IMPORT TABLESPACE;
于 2016-01-22T11:14:43.740 回答