通过Linux命令行连接到SphinxQL

sni*_*ode 24 mysql command-line sphinx search-engine

我试图通过Linux 命令行以这种方式连接到SphinxQL服务器:

> mysql -P 9306

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Run Code Online (Sandbox Code Playgroud)

我的Sphinx配置文件有2个监听条目:

listen                  = 9312
listen                  = 9306:mysql41
Run Code Online (Sandbox Code Playgroud)

searchd守护程序正在运行:

> ps ax | grep searchd
10727 ?        S      0:00 /usr/local/sphinx/bin/searchd
10728 ?        Sl     0:00 /usr/local/sphinx/bin/searchd
Run Code Online (Sandbox Code Playgroud)

常规搜索查询完美运行:

> /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
...
Run Code Online (Sandbox Code Playgroud)

那么,我做错了什么?如何访问SphinxQL控制台?

任何提示将不胜感激.提前致谢!

bar*_*ter 65

'mysql'客户端,如果检测到mysql正在unix-socket上运行,将完全忽略-P param.所以即使你要求sphinxQL端口,你也要连接到mysql

使用

mysql -P9306 --protocol=tcp
Run Code Online (Sandbox Code Playgroud)

告诉客户端忽略套接字.

专家提示:

mysql -P9306 --protocol=tcp --prompt='sphinxQL> '
Run Code Online (Sandbox Code Playgroud)

这是一个有用的持续提醒你连接到sphinx而不是mysql :)


小智 10

适合我:

mysql -P 9306 -h 0
Run Code Online (Sandbox Code Playgroud)