我希望我能清楚地解释发生的事情。我搜索过,并没有发现任何地方提到这个问题(但我承认我的搜索技巧很差。)MySQL正在创建一个删除的表,并将另一个引擎从MyISAM更改为InnoDB。
一点历史:
我正在Linux Mint系统上的NetBeans下使用MySQL开发Java应用程序。我盲目地开始使用MySQL而不更改有2 GB备用的默认目录(/ var / lib / mysql)。很快它就填满了InnoDB ibdata的东西,所以我使用StackOverflow上的指令禁用了InnoDB并删除了文件。稍后我用我的表填满了分区,所以我将整个硬盘专用于数据库。在某处,我从MySQL命令行创建了一个名为“portfolio”的表。然后我决定放弃它并创建一个名为“投资组合”(复数)的新投资组合。然后大约一个星期前我决定再试一次InnoDB,用它跑了一两天然后决定再次禁用它。
现在大约每天一次我得到“未知的存储引擎'InnoDB'” 在'投资组合'和'显示表'命令列出'投资组合'和'投资组合'。我删除它们并在'投资组合'上发出一个新的创建命令,一切运行正常。我甚至重新启动机器,一切都很好。然后昨天我突然得到了“未知引擎InnoDB”错误,并且不得不重新审视这个过程。我今天早上起床,一切都运行良好。刚才,我不得不关闭机器,然后再转回机器再次出现错误并重新出现“投资组合”表。另外,'portfolio'的describe命令是另一个使用内存引擎在Java程序中创建的表,而不是它创建的原始方式。
似乎MySQL有一些旧的信息在某个地方被遗弃,并希望每隔一段时间就复活一次。任何想法在哪里或如何解决这个问题?感谢您的帮助,这是我在这里发表的第一篇文章,但过去几周我发现了很多有价值的信息.am
答案 0 :(得分:0)
我上次评论中提到的luckyBackup恢复似乎是问题所在。我把它从时间表中删除了,现在一切都运行良好了一天。
与此同时,它给了我尝试H2的动力。从头开始构建大型表格要快得多(比如41分钟对比MySQL的77分钟),但在其他一些事情上要慢一些。它还迫使我学习和使用更多标准的SQL语句。