MySQL 直接复制 data 目录下文件备份数据库时需要注意的几点
马富天
2019-02-20 18:43:13
119
【摘要】很久没有更新博客了,因为前段时间我的域名重新进行了备案,中间有一段时间网站关闭了,所有歇了好长一段时间。今天正好没事儿,就打算写篇文章,写的是这段时间遇到的问题,一位朋友叫我帮他备份 MySQL 数据库,我贪图快就直接复制了 MySQL 的 data 目录下对应的数据库文件,本以为这样就将完整的数据都保存下来了,后来出现了问题,所以才有这篇文章。
出现的问题在于:需要备份数据库中有 MyISAM、InnoDB 两个类型的表,而所有 MyISAM 引擎的表结构和数据都保留下来了;而 InnoDB 引擎的表数据保存不够完善。报错如下图所示:
给出一个案例:一个数据库名称叫做:test4,数据库中有两个表,一张是 test(InnoDB),一张是 test1(MyISAM),都存有数据,然后在 MySQL 安装目录下的 data 目录将 test4 文件夹备份起来;新建一个 test5 数据库,创建之后把 test4 中所有的文件替换掉 data 文件夹下 test5 文件夹的文件,就会出现如上的问题。
表 test(InnoDB)数据文件是:test.frm、test.ibd(2 个)
表 test1(MyISAM)数据文件是