mysql command-line search-engine sphinx

mysql - Conéctate a SphinxQL a través de la línea de comandos de Linux



command-line search-engine (3)

El cliente ''mysql'' ignorará totalmente el parámetro -P, si detecta que mysql se está ejecutando en un socket Unix. Entonces, aunque pidas el puerto sphinxQL, te estás conectando a mysql

Utilizar

mysql -P9306 --protocol=tcp

Para decirle al cliente que ignore el socket.

Pro Consejo:

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

que sirve como un recordatorio continuo útil de que está conectado a sphinx no a mysql :)

Estoy intentando conectarme al servidor SphinxQL a través de la línea de comandos de Linux de esta manera:

> mysql -P 9306 ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: NO)

Mi archivo de configuración de Sphinx tiene 2 entradas de escucha:

listen = 9312 listen = 9306:mysql41

El demonio searchd se está ejecutando:

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

Las consultas de búsqueda regulares funcionan perfectamente:

> /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 ...

Entonces, ¿qué estoy haciendo mal? ¿Cómo puedo acceder a la consola SphinxQL?

Cualquier sugerencia será apreciada. ¡Gracias por adelantado!


Funciona para mi:

mysql -P 9306 -h 0


Me encontré con esto recientemente. Pude acceder a Sphinx a través del shell mysql comentando la configuración de listen que no especificaba MySQL. Es posible que esto no funcione para usted, si aún necesita llegar a buscar a través de la API.