在PHPMyAdmin中创建触发器以在崩溃时修复表



我正在运行PHPBB(最新的非测试版),在过去的3个月里,每隔几天搜索一次就会出现错误:

"phpbb_search_wordmatch"标记为崩溃,最后一次(自动?)修复失败

为了修复它,我只需要对桌子进行修复。我仍在想办法弄清楚为什么它一直崩溃。主机没有帮助,可能是表对于服务器来说太大了(700 mb左右)

我的问题:在此期间,我可以在PHPMyAdmin中创建一个触发器,以便在发生此错误时自动修复表吗?当你访问它时,你会在PMA的表上看到它,所以必须有一些条目可以用来创建触发器。

不幸的是,这个问题对我来说很难解决,因为我在共享服务器上,所有在线资源都说要联系主机,所以只要我能在发生这种情况时让它自己解决。

您最好设置一个计划任务。我不知道如何创建一个触发器来检测表何时需要修复;我不认为逻辑有钩子来检测这种情况并导致过程运行。

在数据库中,有一个Events选项卡,您可以在其中启用MySQL事件调度程序,并创建一个每周运行一次的事件,然后运行SQL语句来修复表。这仍然不理想,但我认为这比在这种情况下使用触发器要好。

最新更新