26

この方法で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コンソールにアクセスするにはどうすればよいですか?

ヒントをいただければ幸いです。前もって感謝します!

4

3 に答える 3

72

'mysql'クライアントは、mysqlがunixソケットで実行されていることを検出した場合、-Pパラメータを完全に無視します。つまり、実際には、sphinxQLポートを要求しても、mysqlに接続していることになります。

使用する

mysql -P9306 --protocol=tcp

ソケットを無視するようにクライアントに指示します。

プロのヒント:

mysql -P9306 --protocol=tcp --prompt='sphinxQL> '

これは、mysqlではなくsphinxに接続している便利な継続的なリマインダーとして機能します:)

于 2012-08-26T23:25:49.060 に答える
11

私のために働く:

mysql -P 9306 -h 0
于 2013-01-25T11:21:21.260 に答える
2

私は最近これに遭遇しました。listenMySQLを指定していない構成をコメントアウトすることで、mysqlシェルを介してSphinxにアクセスできました。searchdそれでもAPIを介してアクセスする必要がある場合は、これが機能しない可能性があります。

于 2012-08-26T03:03:31.843 に答える