将 ft_stopword_file 设置回默认值(内置)而不重新启动 MySQL

Setting ft_stopword_file back to default (built-in) without restarting MySQL

我需要在不重启服务器的情况下通过更改 ft_stopword_file 来测试一些东西。我知道 SET GLOBAL 可以更改全局变量,直到下一次重新启动。测试后,我想 return 将其设置为默认值,以防万一它损坏了某些东西。

问题是:如果我没理解错的话,ft_stopword_file只有在完全取消设置(换句话说:没有ft_stop_word_file my.cnf).

有没有办法设置它(使用 SET GLOBAL 或任何其他命令)以再次使用内置单词集而不需要重新启动服务器?

最终目标是什么?这些都可以吗?

方案A:

MyISAM?它很快就会消失。也许你应该在 InnoDB 中设置 table。 InnoDB 的所有设置都与 MyISAM 的设置分开。 Fulltext 的两种实现之间存在许多细微差别;停用词文件只是其中之一。

B计划:

启动一个单独的服务器(或同一服务器上的实例)。设置任何你需要它它。使用带有适当参数的 mysqldump(或类似工具)将数据从一个实例移动到另一个实例。如果合适,使新实例更小,并在 mysqldump 上使用“where”参数来限制复制的数据量。

Is there a way to set it (be it with SET GLOBAL or any other command) to use the built-in word set again without needing to restart the server?

是也不是。

没有,没有。

但您可以将其设置为您选择的自定义列表,因此可以与 built-in 词集相同(您可以在 the fine sources 中找到它)。仅当变量值恰好为“(built-in)”时才需要执行此操作。

即使您将它从主列表设置为相同的列表,您也必须 运行 一个 REPAIR TABLE yourtable QUICK 才能消化它。