Подтвердить что ты не робот

Подключитесь к командной строке SphinxQL через Linux

Я пытаюсь подключиться к серверу SphinxQL через Linux с командной строкой следующим образом:

> mysql -P 9306

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

У моего конфигурационного файла Sphinx есть 2 записи прослушивания:

listen                  = 9312
listen                  = 9306:mysql41
Выполняется

searchd daemon:

> ps ax | grep searchd
10727 ?        S      0:00 /usr/local/sphinx/bin/searchd
10728 ?        Sl     0:00 /usr/local/sphinx/bin/searchd

Обычные поисковые запросы работают отлично:

> /usr/local/sphinx/bin/search StackOverflow | more

Sphinx 2.0.4-release (r3135)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/usr/local/sphinx/etc/sphinx.conf'...
index 'test1': query 'StackOverflow ': returned 2 matches of 2 total in 0.009 sec

displaying matches:
1. document=1788212, weight=1797
        id=1788212
...

Итак, что я делаю неправильно? Как получить доступ к консоли SphinxQL?

Любой намек будет оценен. Спасибо заранее!

4b9b3361

Ответ 1

клиент mysql полностью игнорирует параметр -P, если он обнаруживает, что mysql работает в unix-socket. Так что даже если вы запрашиваете порт sphinxQL, вы подключаетесь к mysql

Использование

mysql -P9306 --protocol=tcp

чтобы сообщить клиенту игнорировать сокет.

Pro Совет:

mysql -P9306 --protocol=tcp --prompt='sphinxQL> '

который служит полезным постоянным напоминанием о том, что вы подключены к sphinx, а не mysql:)

Ответ 2

Работает для меня:

mysql -P 9306 -h 0

Ответ 3

Я столкнулся с этим недавно. Я смог войти в Sphinx через оболочку mysql, комментируя конфигурацию listen, которая не указала MySQL. Это может не сработать для вас, если вам все равно нужно добраться до searchd через API.