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.