Итак, на моем компьютере установлен 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
Следует отметить, что я попытался изменить его на 256 в инструментах графического интерфейса, так что, возможно, именно отсюда это значение. Но зачем мне оба и почему я не могу изменить это значение?
Следует отметить, что я использую Windows 7 и MySQL 5.1.41 для 64-битной версии.
Обновить: Из комментария @ thinice это наводит меня на мысль, что это ошибка в MySQL (и, судя по звукам, в основном недокументированный, который мне нужно будет изменить). Так что, может быть, у меня вопрос, есть ли у кого-нибудь подозрения, как изменить это значение?
Значение 84 для HA_FT_MAXCHARLEN
определяется как треть HA_FT_MAXBYTELEN
(что составляет 254). Это определено в include/ft_global.h
и его изменение будет означать перекомпиляцию MySQL - это не переменная времени выполнения. Причина, по которой это третий, заключается в том, что во многих наборах символов один символ не равен одному байту.
Если бы вы изменили HA_FT_MAXBYTELEN
и перекомпилировать тесты не удастся, поэтому вы переходите в неподдерживаемую территорию, хотя ваше конкретное приложение может работать.