Linux経由でSphinxQLサーバーに接続しようとしていますcommand-lineこの方法:
> mysql -P 9306
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
私のSphinx構成ファイルには、2つのlistenエントリーがあります。
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コンソールにアクセスするにはどうすればよいですか?
任意のヒントをいただければ幸いです。前もって感謝します!
'mysql'クライアントは、mysqlがunix-socketで実行されていることを検出した場合、-Pパラメータを完全に無視します。つまり、sphinxQLポートを要求しても、mysqlに接続しています。
使用する
mysql -P9306 --protocol=tcp
クライアントにソケットを無視するように指示します。
プロのヒント:
mysql -P9306 --protocol=tcp --Prompt='sphinxQL> '
これは、mysqlではなくsphinxに接続していると便利な継続的なリマインダーとして機能します。
私のために働く:
mysql -P 9306 -h 0
最近これに遭遇しました。 MySQLを指定していないlisten
構成をコメント化することで、mysqlシェルを介してSphinxにアクセスできました。 APIを介してsearchd
にアクセスする必要がある場合は、これが機能しない可能性があります。