PHP /连接到Sphinx需要用户名/密码

时间:2018-10-07 12:20:01

标签: php mysql network-programming sphinx

我目前正在尝试通过PDO或MySqli连接器连接到Sphinx,以便使用SphinxQL,尽管Sphinx没有用户名/密码设置,并且我应该能够在不使用用户名/密码的情况下进行连接,但是我得到了一个用户/传递错误:

  

警告:mysqli_connect():(HY000 / 1045):用户'@'localhost'的访问被拒绝(使用密码:否)

我的连接尝试如下(在这种情况下为mysqli:)

$con = mysqli_connect('localhost', '', '', '', '9306');

上面的localhost与Mysql一起使用,我也尝试了127.0.0.1,但没有成功(这给了我一个拒绝连接的错误)。

我的狮身人面像conf如下:

listen          = 9306:mysql41

searchd正在运行,并且通过shell的连接可以正常工作:

[root@localhost vagrant]# mysql -h0 -P 9306
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 Server version: 2.2.11-id64-release (95ae9a6)

如上所述,我使用的是Sphinx v.2.2.11

以防万一,我还重新检查了端口分配:

[root@localhost vagrant]# netstat -tulpn | grep LISTEN
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1475/master
tcp        0      0 127.0.0.1:9306          0.0.0.0:*               LISTEN      21599/searchd
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      4013/mysqld

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

有些奇怪的事情有时会发生,没有合理的解释。如前所述,我在Windows 10主机上使用流浪汉(Centos 7.5)。无论如何,该连接均不起作用。经过一天的休息后,我的电脑进入了“睡眠”模式。第二天,撤销系统后,一切正常。我能说__(ツ)_ /¯。问题解决了。

答案 1 :(得分:0)

我可能会迟到,但我遇到了同样的问题,我有解决方案:)

代替

$con = mysqli_connect('localhost', '', '', '', '9306');

这样使用

$con = mysqli_connect('localhost:9306', '', '', '');

它很可能会起作用:)

我在 Sphinx Search 3.3.1 和 mysql 8.0 上遇到了同样的问题。 以上解决了我的问题。