为“设置新值”;ft“u min”字“u len”;mysql中的全文

为“设置新值”;ft“u min”字“u len”;mysql中的全文,mysql,full-text-search,database-administration,fulltext-index,Mysql,Full Text Search,Database Administration,Fulltext Index,我通过位于我的系统路径“C:\Program Files\MySQL\MySQL Server 5.1”中的my-innodb-heavy-4G.ini更改为“ft\u min\u word\u len”=4,但当我运行 SHOW VARIABLES LIKE 'ft_min_word_len' 我得到的结果仍然是value=4。我在my.ini文件中未找到此变量。所以我也创造了一个我的逻辑。我复制到ft\u min\u word\u len变量并放入my.ini文件,现在我的结果显示valu

我通过位于我的系统路径
“C:\Program Files\MySQL\MySQL Server 5.1”中的
my-innodb-heavy-4G.ini
更改为
“ft\u min\u word\u len”=4
,但当我运行

SHOW VARIABLES LIKE 'ft_min_word_len'
我得到的结果仍然是
value=4
。我在
my.ini
文件中未找到此变量。所以我也创造了一个我的逻辑。我复制到
ft\u min\u word\u len
变量并放入
my.ini
文件,现在我的结果显示
value=3

但它不适用于三字符搜索。我重新启动了服务器


如何实现也能搜索三个字符的值。

您应该更改此系统参数,重新启动服务器,然后重建所有全文索引

REPAIR TABLE <TableName> QUICK;
快速修复表;

我认为您应该尝试通过删除索引和再次添加索引来更改表。它肯定会起作用。

这就是我用来获取所有需要的修复命令的方法:

SELECT DISTINCT CONCAT("REPAIR TABLE `", TABLE_SCHEMA, "`.`", 
TABLE_NAME, "` QUICK;") FROM information_schema.STATISTICS 
WHERE index_type = 'FULLTEXT';

您可以直接删除并添加全文索引

或者分阶段进行,看看它会提前变得多大

创建表模型\u新的类似模型;
更改表模型\u新的删除索引名称;
ALTER TABLE models\新增全文名称(名称);
使用新的禁用键更改表模型;
插入到模型中\u从模型中选择新的*;
更改表格模型\使用新的启用键;
改变表格模型,重命名旧模型;
更改表格模型\重新命名新模型;

我刚刚解决了一个类似的问题。在我的例子中,问题是为了更改ft_min_word_len变量而需要编辑的my.ini文件位于Windows 7中默认隐藏/保护的目录中。这就是:“c:/programdata/mysql/mysql服务器5.7”

Windows文件资源管理器和搜索不会显示此位置,直到您进入文件夹选项并指定要查看隐藏的文件/文件夹(可能还有受保护的操作系统文件——我两者都做了)

最初,我在Program Files/MySQL Server 5.7下创建了一个my.cnf文件。但是当我重新启动服务器时,ft_min_word_len变量没有改变。然后我输入了一些随机文本,我知道这会触发一个错误,但服务器启动正常。看起来MySQL没有读取该文件,即使它位于MySQL客户端shell的帮助文本中指定的位置之一

我的想法是,MySQL服务器开始按照帮助文本中指定的顺序搜索.cnf/.ini文件,但一旦找到有效文件,就会停止搜索。这只是一个理论,但我可以肯定地说,它没有识别出它应该查找的其他位置的配置文件

我认为这就像CSS一样,每个新的CSS文件都会覆盖上一个CSS文件中的设置。显然不是


无论如何,我希望这将有助于任何其他谁遇到同样的问题

谢谢你的回复,我只是做了所有的活动,但没有工作:(.我使用的是Windows.my目录C:\Program Files\MySQL\MySQL Server 5.1.我没有在my.ini中找到它。我在my-innodb-heavy-4G.ini文件中找到了它。请先生检查一下。谢谢谢谢你。我在wamp Server MySQL中也做了更改。我忘了:)MySql InnDB表示不支持修复。下面介绍如何为inno db表重建索引: