天天看点

mysql myisam 丢数据_MYSQL复制源文件 丢失问题解决, innoDB 类型转换为 MyISAM

上午进行MySql的测试,写进去240000条数据,下午找数据库文件却找不到,只找到了了一个大小只有9K的.frm文件,而frm文件不是数据库文件,而且文件大小太离谱,上百度搜索了一下:

输入问题,“mysql 没有 myd”,几个情况提到了也仅提到了一个有价值的单词——innoDB。这不就是建表的时候选择数据引擎的那句话嘛,sql语句里面一直都有,却从来没有问过为什么要写这个。继续根据这个关键词挖掘下去,终于找到了我要的答案,这是mysql的两种引擎的差异,innoDB和MyISAM。以前就听说innoDB被收购了,mysql自己弄出了MyISAM,用在自己的6.0版本上。找到两篇文章介绍两个引擎的差异:

详解“InnoDB”和“MyISAM”的不同之处

MySQL中MyISAM引擎与InnoDB引擎性能简单测试

看后终于有一点点理解。不过“详解”的“详”有点假,“简单测试”的“简单”却很实在。找到了问题所在,也找到最后的解决方案,在phpmyadmin里输入sql语句:

ALTER TABLE `your_table_name` TYPE=MYISAM;

把所有表的引擎转换成MyISAM,储存数据的myd文件就出来了。在本地测试没有问题后上服务器执行了一遍,再次备份数据库,打包里面就有myd文件了!