C++ MySQL在删除函数时崩溃

C++ MySQL在删除函数时崩溃,c++,mysql,C++,Mysql,我已经通过createfunction命令创建了一个UDF,现在当我试图删除它时,服务器崩溃了。根据调查,这是一个已知的问题: 要升级与UDF关联的共享库,请发出DROP FUNCTION语句,升级共享库,然后发出CREATE FUNCTION语句。如果先升级共享库,然后使用DROP函数,服务器可能会崩溃 它确实会崩溃,之后任何删除函数的尝试都会崩溃,即使我从插件目录中完全删除了DLL。在开发过程中,我不断地替换定义UDF函数的库。今天我已经从头开始重新安装了一次MySQL,我不想再安装了。除了

我已经通过createfunction命令创建了一个UDF,现在当我试图删除它时,服务器崩溃了。根据调查,这是一个已知的问题:

要升级与UDF关联的共享库,请发出DROP FUNCTION语句,升级共享库,然后发出CREATE FUNCTION语句。如果先升级共享库,然后使用DROP函数,服务器可能会崩溃

它确实会崩溃,之后任何删除函数的尝试都会崩溃,即使我从插件目录中完全删除了DLL。在开发过程中,我不断地替换定义UDF函数的库。今天我已经从头开始重新安装了一次MySQL,我不想再安装了。除了更加小心之外,我还可以做些什么,例如手动清理mysql.*表以删除该函数

编辑:经过一些修补,数据库似乎已经进入崩溃模式,直到我删除了有问题的DLL,然后发出错误代码:1305:FUNCTION[schema].[functionName]不存在。如果我尝试将函数作为根删除,则会得到相同的消息,但没有模式前缀


从mysql中选择*显示函数。如果我手动删除记录,我会得到相同的1305错误。

mysql模式中的系统表中的大部分数据在第一次触摸时缓存在内存中。之后,除非重新启动服务器,否则手动修改表可能不会达到预期效果


对于grant表,提供了刷新任何缓存数据的机制—FLUSH PRIVILIGES—但对于其他表,如func和时区表,确保所有表的手动更改都被考虑在内的唯一确定方法是重新启动服务器进程。

您是否向MySQL报告了该错误并尝试了其他版本?@Dai AFAICT所有版本5的文档中都有该错误。我要冒一个险,假设他们知道这件事,并且这不是一个在最近版本中修复的问题。我正好在MariaDB 10.1.19上。手动删除记录,然后重新启动mysql服务器服务?@Michael sqlbot手动删除记录后,我没有尝试重新启动服务,这实际上解决了问题。谢谢如果你想就此作出答复,我将接受你的答复。