четверг, 30 сентября 2010 г.

Ошибка при индексации в Sphinx 0.9.9 + MySQL 5.1.47 под Windows XP

В очередной раз после переустановки системы решил развернуть проект в котором используется MySQL + Sphinx. Все проходило гладко пока не дошел до индексации данных Sphinx-ом.

Отсутствует libmySQL.dll


Запускаем индексацию ("C:\Sphinx>bin\indexer --all") и получаем сообщение

"This application has failed to start because LIBMYSQL.dll was not found. Re-installing the application may fix this problem."

Эта проблема решается быстро, просто копируем файл libmySQL.dll из папки установленного MySQL ("c:\Program Files\MySQL\MySQL Tools for 5.0\libmySQL.dll") в папку System32 ("c:\WINDOWS\system32\").

"Иной" libmySQL.dll


Делаем повторный запуск индексации ("C:\Sphinx>bin\indexer --all") и в этот раз уже получаем другую ошибку:

C:\Sphinx>bin\indexer --all
Sphinx 0.9.9-rc1 (r1566)
Copyright (c) 2001-2008, Andrew Aksyonoff

using config file './sphinx.conf'...
WARNING: key 'port' is deprecated in ./sphinx.conf line 47; use 'listen' instead.
indexing index 'my_index'...
ERROR: index 'my_index': column number 1 has no name.
total 0 docs, 0 bytes
total 0.033 sec, 0.00 bytes/sec, 0.00 docs/sec
total 0 reads, 0.0 sec, 0.0 kb/read avg, 0.0 msec/read avg
total 0 writes, 0.0 sec, 0.0 kb/write avg, 0.0 msec/write avg

В этот момент у меня "глаза сильно округлились", так как раньше все работало отлично, а за это время проект не менялся. Сообщение "column number 1 has no name." не давало каких-либо зацепок.

Сокровенный ответ был найден на форуме http://www.sphinxsearch.com/forum/view.html?id=2724. Как оказалось, ошибка возникает, если использовать libmySQL.dll из MySQL версии 5.1 и выше.

Скачав libmySQL.dll из версии 5.0.37, сохраняем в папку System32 ("c:\WINDOWS\system32\") и запускаем индексацию. Все отлично работает!

ЗЫ: MySQL Database Server 5.0.37, архив - mysql-noinstall-5.0.37-win32.zip

3 комментария:

  1. Еще проще проблема решается установкой этих двух систем на линух )

    ОтветитьУдалить
  2. Только нужно понимать, что там свои версии либ и что там могут быть другие баги :)

    ОтветитьУдалить