I am trying to connect to SphinxQL server through Linux command-line this way:
> mysql -P 9306
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
My Sphinx config file has 2 listen entries:
listen = 9312
listen = 9306:mysql41
searchd daemon is running:
> ps ax | grep searchd
10727 ? S 0:00 /usr/local/sphinx/bin/searchd
10728 ? Sl 0:00 /usr/local/sphinx/bin/searchd
Regular search queries work perfectly:
> /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
...
So, what I am doing wrong? How can I get access to SphinxQL console?
Any hint will be appreciated. Thanks in advance!
the 'mysql' client, will totally ignore the -P param, if it detects mysql is running on a unix-socket. So really even though you ask for the sphinxQL port, you are connecting to mysql
Use
mysql -P9306 --protocol=tcp
to tell the client to ignore the socket.
Pro Tip:
mysql -P9306 --protocol=tcp --prompt='sphinxQL> '
which serves as a useful ongoing reminder you are connected to sphinx not mysql :)