我正在将服务器从共享托管服务器迁移到VPS。作为转换的一部分,我希望在我完全切换站点和DNS记录之前,让当前正在运行的站点开始使用新服务器上的数据库。
新服务器已启动并运行mysql,我可以从服务器连接本地,并且可以使用我的iMac上的Sequal Pro应用程序作为外部连接进行连接。当我使用相同的细节在我的PHP脚本中连接虽然在共享主机服务器上我得到(2002) Connection refusedDB: 0
错误。
PHP脚本看起来像
$servername = "SERVERIP";
$usernamedb = "USERNAME";
$passworddb = "PASSWORD";
$dbname = "DBNAME";
$conn = new mysqli($servername, $usernamedb, $passworddb, $dbname, 3306);
if ($conn->connect_errno) {
echo "Failed to connect to MySQL: (" . $conn->connect_errno . ") " . $conn->connect_error;
}
我已经检查了/var/log/mysql/error.log
,并且没有记录任何问题。它必须是PHP连接而不是VPS / MySQL端,因为我可以使用Sequal Pro从我的家庭互联网连接没有问题,因此服务器绝对允许使用这些用户名,密码和数据库名称详细信息从外部源连接
我在new mysqli
语句中添加了端口号,以防共享主机的默认设置不同,但无论是否有所不同都会产生影响。
答案 0 :(得分:1)
从评论中,我们知道它从客户端盒子上的命令行失败,但是从您的个人盒子上的命令行(GUI,技术上)开始工作。我们从这些评论中也知道它不是SELinux或IPTables。因此,它必须是:
打破较低级别(例如IP)工具的时间。或者,如您所发现的,请联系上游网络管理员。
用某名着名侦探的话说:
一旦你消除了不可能的事物,无论剩下什么,无论多么不可能,都必须是真理。