您好我有一个centos服务器,我已成功设置远程连接,如Windows上的Navicat软件,Android上的remoDB。但问题是,我无法从我的其他主机连接到服务器。
这是我的代码示例
<?php
$servername = "******";
$username = "***";
$password = '*****';
// Create connection
$conn = new mysqli($servername, $username, $password);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
我得到的错误就是这个
Connection failed: Can't connect to MySQL server on '*****' (111 "Connection refused")
答案 0 :(得分:0)
你是什么意思&#34;其他主持&#34;?我猜它不是localhost。 也许你已经使用&#34;而不是ssh&#34;使用Navicat时的连接,这就是为什么它没有被拒绝。
111错误反映&#34;连接被拒绝&#34;,这意味着您的mysqld只侦听localhost。
解决方案:您需要在my.cnf文件的mysqld部分编辑(或评论)bind-address
值(选中“how to locate my.cnf”?)
bind-address = 127.0.0.1
评论为#bind-address = 127.0.0.1
答案 1 :(得分:0)
另一个猜测: 尝试指定db_name,port,socket:
mysqladmin -u {user} -p{pwd} variables | grep port
确保使用正确的套接字:mysqladmin -u {user} -p{pwd} variables | grep sock
然后继续这样:
$conn = new mysqli('localhost', 'my_user', 'my_password', 'my_db’, ‘xxxx’, ‘{path to my socket}/mysql.sock’);