备份方法
将 MySQL 中的 data 文件夹中对应数据库的 .opt
, .frm
, .ibd
文件全部拷贝。
错误
重新拷贝到原文件夹下,然后打开数据表的时候会显示如下错误:
1812 - Tablespace is missing for table '数据库名字'.'表名字'
解决办法
重新导入表空间,语法如下:
ALTER TABLE 表名字 IMPORT TABLESPACE;
以上图中的错误为例,
ALTER TABLE t_entity_tag_cache IMPORT TABLESPACE;
表不存在
error: 1146: Table 'a_content' doesn't exist
这种情况就是要把原来mysql安装目录data里的 ibdata1
也要拷贝过去。INNODB是MYSQL数据库一种流行的数据库引擎,支持事务(行级),在企业级应用上成为可能。ibdata 用来储存文件的数据,而库名的文件夹里面的那些表文件只是结构而已,由于新版的mysql默认试innodb,所以ibdata1文件默认就存在了,少了这个文件有的数据表就会出错[1]。