Задать вопрос
@andrei2019

Индексер Сфинкса не соединяется с MySQL?

Какая-то простая неисправность...
Вот конфиг:

source src1
{
        type = mysql
        sql_host = localhost
        sql_user =root
        sql_pass =
        sql_db = test
        sql_port = 3306
        sql_query = SELECT * FROM test
}


Вот ошибка:

Sphinx 3.0.3 (commit facc3fb)
...
ERROR: index 'test': sql_connect: failed to load libmysqlclient (or libmariadb)

В то же время из консоли и из РНР соединяется отлично:

#mysql test
#mysql -u user -p1 test
$connMYSQL = new PDO('mysql:host=localhost;dbname=test;', 'root', '');


С другими источниками данных индексер работает.
А как ставлю type=mysql, то после этой строки в конфиге ничего не читает (не влияет ничего).
Похоже действительно ошибка там, где говорит индексер, что-то с версиями библиотек:

# find / -name libmysqlclient*
/usr/lib/x86_64-linux-gnu/libmysqlclient.so.20.3.9
# find / -name libmariadb*
/usr/lib/x86_64-linux-gnu/libmariadb.so.3

mysql  Ver 15.1 Distrib 10.1.29-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
  • Вопрос задан
  • 2494 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
BuriK666
@BuriK666
Компьютерный псих
sphinxsearch.com/forum/view.html?id=15745
Sphinx currently just tries loading libmysqlclient.so (and libmariadb.so now) but does
*not* yet attempt to scan for all the different .so.18 or so.19 or so.20 etc versions.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@andrei2019 Автор вопроса
Спасибо за быстрый ответ! Сделал как написано здесь: forum.lazarus.freepascal.org/index.php?topic=3548.15

ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so.20.3.9 /usr/lib/libmysqlclient.so

Заработало! (как мне повезло,что последняя попытка в конфиге была с localhost - только с ним работает).

А вот с libmariadb.so.3 так не вышло (возможно нужна старая версия):
Can't connect to local MySQL server through socket '/tmp/mysql.sock' если localhost. (сокета там нет, хотя root в MySQL по умолчанию имеет plugin)
Can't connect to MySQL server если имя, адрес, 127... (хотя и юзера создал в MySQL)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы