我有一个表'admin',我希望将所有数据从一个位置移动到另一个位置。如果我使用MyISAM引擎,那么我在数据文件夹中为'admin'表获取3个文件'admin.frm','admin.MYD'和'admin.MYI',我可以将这些文件复制并粘贴到另一个位置并运行桌子。但如果我使用InnoDB引擎,那么我只在数据文件夹中获得'admin.frm',并且在将该文件复制到另一个位置时,该表无法运行。
有人请告诉我如何将InnoDB表从一个位置移动到另一个位置?
-Thanks。
编辑: (我也需要传输数据和结构(作为整个表格)。我想要像MyISAM表文件一样简单的复制粘贴。是否可能?并且怎么样?)
答案 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;