2017-07-12 28 views
0

你好我有一個centos服務器,我成功地設置了遠程連接,例如在windows上使用Navicat,在android上使用remoDB。但問題是,我無法從我的其他主機連接到服務器。遠程MySql可以使用Navicat連接,但不能從另一臺主機連接

這裏是我的代碼示例

<?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

你有沒有試過指定「DB_NAME '密碼'後'? – 4givN

回答

0

你是什麼意思關於「其他託管」嗎?我想這不是本地主機。 也許你在使用Navicat時使用過「ssh」連接,以便它不被拒絕。

111錯誤反映「連接被拒絕」,這意味着你的mysqld只能監聽本地主機。 解決方案:你需要在你的my.cnf文件的mysqld的部分編輯(或意見)bind-address值(檢查「how to locate my.cnf」?)

  • 評論此行bind-address = 127.0.0.1#bind-address = 127.0.0.1
  • 然後重新啓動mysql的
+0

嗨,謝謝。我沒有通過ssh連接在navicat或remodb(android應用程序)。我一直在我的服務器上搜索my.cnf文件,在/etc/my.cnf中只找到一個,只有幾行,沒有綁定地址值。 –

0

另一種猜測: 嘗試指定DB_NAME,港口,插座:

  • 確保你使用正確的端口: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’);

+0

兄弟不工作,我不知道這裏有什麼問題。我使用端口3306 telnet到服務器,連接已建立。 –

相關問題