簡體   English   中英

無法連接到IPAddress上的MySQL Server(10061)

[英]Can't Connect to MySQL Server on IPAddress (10061)

我需要連接到遠程MySQL數據庫並創建以下連接代碼:

<?php
/* Set Variables */
$host="myipaddress";
$db="mydbname"; 
$username="dbuser";
$pass="mypass";

/* Attempt to connect */
$mysqli=new mysqli($host,$username,$pass,$db);
if (mysqli_connect_error()){
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
echo 'Success... ' . $mysqli->host_info . "\n";

$mysqli->close();

}
?>

出於安全原因,我沒有提供實際的變量值。 當我在開發系統上運行它時,我收到

Connect Error (2003) Can't connect to MySQL server on 'myipaddress' (10061)

我的PHP有點生銹,有人可以識別我的代碼有問題的地方嗎? 請注意,dbuser對設置為變量的數據庫名稱具有選擇,插入和更新特權。

謝謝,席德

編輯我對my.cnf進行了更改,然后重新啟動了mysql。 現在,我收到用戶'dbuser'@'mycurrenthostname'的訪問被拒絕(使用密碼YES)。 當我從命令行使用mysql -u dbuser -p時,我可以登錄。 我授予插入,更新並選擇主機為'%'的dbuser的權限,以便dbuser可以從任何地方連接。

我已經閱讀了有關此錯誤的MySQL參考指南,但仍然遇到問題。 既然my.cnf已經修復,我的代碼是否有問題?

檢查防火牆是否允許通過端口3306進行連接。

檢查my.cnf的MySQL配置參數bind-address以確保它允許遠程連接。

這里有信息和故障排除提示:

http://dev.mysql.com/doc/refman/5.1/en/can-not-connect-to-server.html

根據MySql文檔,錯誤(2003)無法連接到“服務器”上的MySQL服務器(10061)表示網絡連接已被拒絕。 您應該檢查是否有正在運行的MySQL服務器,是否已啟用網絡連接,以及指定的網絡端口是否為服務器上配置的端口。

我不熟悉php,但是問題可能不在您的代碼中。

如果即使將Mysql端口3306設為開放訪問權限后仍遇到上述錯誤,

只要改變它位於mysql的文件my.cnf中的綁定地址/etc/mysql/my.cnf更新綁定地址下面給出bind-address = 0.0.0.0

這將允許遠程訪問所有ip。在AWS ec2上,它正在運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM