我目前正在尝试通过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
感谢您的帮助。
答案 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 上遇到了同样的问题。 以上解决了我的问题。