Назад | Перейти на главную страницу

Ошибка mysql change ft_max_word_len

Итак, на моем компьютере установлен 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 и перекомпилировать тесты не удастся, поэтому вы переходите в неподдерживаемую территорию, хотя ваше конкретное приложение может работать.