在windows上面配置建立了一个innodb的独立表空间的数据库..
create database xxx;use xxx;create table xx1(
id varchar(20)
)engine=innodb;insert into xx1 values('aaaa');文件存放到%mysql%/data/下面..将下面的xxx数据库文件里面的东西,同样的复制到linux下的/var/lib/mysql/下....在linux下的mysql里面(linux下的mysql同样也设置的独立表空间)
为什么只能显示表结构,却没有数据呢?
create database xxx;use xxx;create table xx1(
id varchar(20)
)engine=innodb;insert into xx1 values('aaaa');文件存放到%mysql%/data/下面..将下面的xxx数据库文件里面的东西,同样的复制到linux下的/var/lib/mysql/下....在linux下的mysql里面(linux下的mysql同样也设置的独立表空间)
为什么只能显示表结构,却没有数据呢?
innodb还有一些公有数据在全局表空间中(如:%mysql%/data/中的ibdata*) 所以一般来说需要导出再导入才能转移书据
http://dev.mysql.com/doc/refman/5.1/en/multiple-tablespaces.htmlYou cannot freely move .ibd files between database directories as you can with MyISAM table files. This is because the table definition that is stored in the InnoDB shared tablespace includes the database name, and because InnoDB must preserve the consistency of transaction IDs and log sequence numbers.
、
InnoDB 不能通过简单的复制黏贴进行表转移...你还是通过进行单独表 输出 然后再倒入