我正在使用MySQL 5.5.1.1,下载和安装地点:http://dev.mysql.com/downloads/
我想将.frm和.opt数据库文件从本地计算机导入到MySQL数据库.
我创建了一个新的数据库连接来帮助我从我的机器导入文件.但我无法导入.frm文件,因为我不断收到错误消息:格式不受支持.
有人能帮我介绍一下如何将文件导入MySQL客户端吗?
谢谢, J
我正在使用MySQL 5.5.1.1,下载和安装地点:http://dev.mysql.com/downloads/
我想将.frm和.opt数据库文件从本地计算机导入到MySQL数据库.
我创建了一个新的数据库连接来帮助我从我的机器导入文件.但我无法导入.frm文件,因为我不断收到错误消息:格式不受支持.
有人能帮我介绍一下如何将文件导入MySQL客户端吗?
谢谢, J
至于导入任何MySQL数据,需要考虑三(3)件事.
导入MyISAM表很简单,只需将给定表的三个扩展名为.frm
、.MYD
和.MYI
的文件移到MySQL文件夹中即可.例如,如果表名为mydata,则三(3)个文件
mydata.frm
个mydata.MYD
个mydata.MYI
以下可能是噩梦中的噩梦.导入InnoDB完全取决于以下两类因素之一:
所有InnoDB数据和索引页都位于/var/lib/mysql/ibdata1
中.必须将此文件从源计算机(Server-S)移动到目标计算机(Server-T),并将其放置在相同的绝对路径中.事实上,令人震惊的是:Server-S和Server-T必须相同.换句话说,您不能将InnoDB .ibd
文件导入和导出到其他计算机.它们只能在创建.ibd
的同一台计算机上导入和导出.
您还必须将/var/ib/mysql/ib_logfile0和/var/ib/mysql/ib_logfile1从服务器-S移动,并将它们放在服务器-T上相同的绝对路径中.
您还必须确保在Server-S的/etc/my.cnf中设置的每个InnoDB变量都必须设置在Server-T上的/etc/my.cnf中.
对于每个InnoDB表,将有两个文件.例如,如果mydata数据库中的InnoDB表名为MyTable,那么您将拥有/var/lib/mysql/mydata/mytable.frm
和/var/lib/mysql/mydata/mytable.ibd..ibd
文件包含表的数据和索引页.要导入单个表,您必须
mytable.frm
放入/var/lib/mysql/mydata folder
中,放在Server-T上mytable.ibd
放入/var/lib/mysql/mydata folder
中,放在Server-T上ALTER TABLE mydata.mytable IMPORT TABLESPACE;
确保您将/var/lib/mysql/ibdata1
放在导入它的同一位置.
请不要跨不同的服务器使用IMPORT TABLESPACE技术.只需对所有内容执行mysqldump并导入mysqldump即可.逻辑转储总是最安全的方式!