0

我希望我能清楚地解释发生了什么。我搜索并没有发现任何地方提到的这个问题(但我承认我的搜索技能很差。) MySQL 正在创建一个删除的表并将另一个引擎从 MyISAM 更改为 InnoDB。

一点历史:

我正在 Linux Mint 系统上的 NetBeans 下使用 MySQL 开发 Java 应用程序。我盲目地开始使用 MySQL,而没有更改有 2 GB 可用空间的默认目录 (/var/lib/mysql)。很快它就充满了 InnoDB ibdata 的东西,所以我使用 StackOverflow 上的说明禁用了 InnoDB 并删除了这些文件。过了一会儿,我用我的表填满了分区,所以我将整个硬盘驱动器专用于数据库。一路走来,我从 MySQL 命令行创建了一个名为“portfolio”的表。然后我决定放弃它并创建一个新的,称为“投资组合”(复数)。然后大约一周前,我决定再试一次 InnoDB,运行了一两天,然后决定再次禁用它。

现在大约每天一次,我在“投资组合”上收到“未知存储引擎 'InnoDB'”,并且“显示表”命令同时列出了“投资组合”和“投资组合”。我放下它们并在“投资组合”上发出一个新的创建命令,一切运行正常。我什至重新启动了机器,一切都很好。然后昨天我突然出现“未知引擎 InnoDB”错误,不得不再次执行该过程。我今天早上启动,一切正常。刚才,我不得不关闭机器,重新打开后再次出现错误,“投资组合”表再次出现。此外,“portfolio”的描述命令是针对在 Java 程序中使用内存引擎创建的另一个表,而不是它的原始创建方式。

似乎 MySQL 有一些旧信息隐藏在某个地方,并且每隔一段时间就想恢复它。任何想法在哪里看或如何解决这个问题?

感谢您的帮助,这是我在这里的第一篇文章,但在过去的几周里我在这里找到了很多有价值的信息。am

4

1 回答 1

0

我上一条评论中提到的 luckyBackup 恢复似乎是问题所在。我把它从日程表中删除了,现在一切都运行良好了一天多。

与此同时,它给了我尝试 H2 的动力。从头开始构建大表要快得多(比如 41 分钟对 MySQL 的 77 分钟),但在其他一些事情上更慢。它也迫使我学习和使用更多标准的 SQL 语句。

于 2013-10-18T23:39:23.397 回答