我正试图通过Linux 命令行以这种方式连接 SphinxQL 服务器:
> mysql -P 9306
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
我的Sphinx配置文件有2个监听条目:
listen = 9312
listen = 9306:mysql41
searchd守护程序正在运行:
> 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控制台?
任何提示都将受到赞赏。提前谢谢!
答案 0 :(得分:65)
'mysql'客户端,如果检测到mysql正在unix-socket上运行,将完全忽略-P param。所以即使你要求sphinxQL端口,你也要连接到mysql
使用
mysql -P9306 --protocol=tcp
告诉客户端忽略套接字。
专业提示:
mysql -P9306 --protocol=tcp --prompt='sphinxQL> '
这是一个有用的持续提醒你连接到sphinx而不是mysql:)
答案 1 :(得分:7)
适合我:
mysql -P 9306 -h 0
答案 2 :(得分:2)
我最近碰到了这个。通过注释掉未指定MySQL的listen
配置,我能够通过mysql shell进入Sphinx。如果您仍需要通过API访问searchd
,这可能对您无效。