MySQL MyISAM 引擎数据库复制后部分表显示使用中的原因及解决办法

MySQL MyISAM数据库从高版本复制到低版本后,使用用phpmyadmin查看发现部分表显示"使用中"状态。
使用REPAIR TABLE `table_name`命令修复也没有任何效果。
经过对比发现出现“使用中”状态的表都有共同的特点就是表结构中包含 `postTime` 字段类型为 datetime 。分析应该是 高版本与低版本 datetime 数据类型不兼容的原因。

解决办法:

1.因为数据量很小,直接在高版本的mysql数据库中使用phpmyadmin导出sql文件,再把sql文件导入到低版本的mysql中去即可。

2.大数据可以直接使用mysql的导出工具

3.避免使用直接复制data文件夹的方式复制备份数据库文件。以前认为MyISAM引擎的数据库文件可以这么做,经过这次事件证明MyISAM引擎在不同版本的mysql数据库之间复制数据会出现意想不到的问题。