因此,我的机器上安装了 MySQL,我需要更改ft_max_word_len
MySQL 将索引的最大字长。但是,当我通过提供的工具进行设置并查询时,它仍然将其列为最大值 84(我需要 128+)。当我尝试使用命令行时,我得到以下内容:
C:\>mysqld --ft_max_word_len=128
111210 23:55:46 [Warning] option 'ft_max_word_len': unsigned value 256 adjusted to 84
111210 23:55:46 [Warning] option 'ft_max_word_len': unsigned value 128 adjusted to 84
需要注意的是,我尝试在 GUI 工具中将其更改为 256,因此该值可能就是从那里来的。但为什么我会得到两者,为什么我不能调整这个值?
值得注意的是,我使用的是 Windows 7 和 64 位 MySQL 5.1.41。
更新:从@thinice的评论中,我相信这是MySQL中的一个错误(听起来大多我需要更改它)。所以也许我的问题是,有人知道如何更改该值吗?
答案1
的值 84HA_FT_MAXCHARLEN
被定义为 的三分之一HA_FT_MAXBYTELEN
(即 254)。这是在 中定义的include/ft_global.h
,更改它将意味着重新编译 MySQL - 它不是运行时变量。之所以是三分之一,是因为在许多字符集中,一个字符不等于一个字节。
如果您更改HA_FT_MAXBYTELEN
并重新编译,测试将失败,因此您将进入不受支持的状态,尽管您的特定应用程序可能会运行。