我在远程连接到MySQL数据库时遇到问题。
我目前的设置如下:我有一台Windows 2008 Server在工作,放在路由器后面(固定IP)。路由器配置了DMZ到服务器,它完全适用于我测试的其他一切,包括Web服务器,VPN,FTP等...服务器的防火墙打开到相应端口上的必要服务。我可以很好地telnet到所有这些端口。
我唯一无法工作的是远程连接到MySQL数据库。我已经完成了以下所有工作:
0.0.0.0:3306
(它在不提供bind-address
时自动执行此操作); localhost
; '%'
的访问权限配置相同的用户帐户(同名,密码,权限); 我随后尝试从托管的Web服务器(Internet上的其他位置)执行PHP脚本:
<?php
// Create connection
$conn = new mysqli(<host>, <username>, <password>);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>
<host>
,<username>
和<password>
是相应且正确的凭据。
此脚本只是在没有回复的情况下超时,并提供预期的错误Connection failed: Can't connect to MySQL server on '<host>' (110)
。我也不能在端口3306上telnet。从localhost
连接工作正常。
我不知道还有什么我忘了或做错了。我错过了什么?
我需要此连接才能将我的“备份系统”集中在托管的Web服务器上。我可以在mysql主机上本地运行我的“备份系统”,但这使得从中心点管理它变得更加困难。除此之外,我想让它真正了解发生了什么。我讨厌不要让这种事情发挥作用。
感谢任何对可能出现的问题有所了解的人。
午