我在 Godaddy 服务器上设置了一个数据库。它被配置为允许远程访问,并且我正在运行的几个网站需要访问这些数据。当从另一个 Godaddy 站点访问时,它可以工作,并且我可以在工作和家庭中从我的开发环境进行连接。我们最近使用 mydomain.com 设置托管。
这是触发它的代码块:
function connect(){
$servername = "XX.XX.XXX.XX";
$dbusername = "databaseusername";
$dbpassword = "mahpassword";
$dbname = "databasename";
try{
$newMysql = new PDO("mysql:host=".$servername.";dbname=".$dbname, $dbusername, $dbpassword);
}
catch(PDOException $e){
echo 'connection Failed: '. $e->getMessage();
die;
}
}
现在我在新网站上收到此错误消息:
connection Failed: SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'XX.XX.XXX.XX' (111)
我能想到的唯一问题是,由于某种原因,MySQL 数据库默认连接的 IP 地址数量有限(这似乎很奇怪),我被 MySQL 服务器上的防火墙阻止了(再次。 . 对我来说没有意义),或者 mydomain 托管服务器上有一些设置不允许远程请求(?)
我是这种事情的新手,所以我愿意接受任何建议。我可能只是在新站点上设置另一个数据库,但如果我不需要,我不想让它们保持同步的麻烦。可能有什么问题?有什么解决方法吗?
[edit] 通过控制台连接远程数据库(mysql -h XX.XX.XXX.XX ...)
,权限在information_schema 数据库下找到,快速select * from SCHEMA_PRIVILEGES
显示select * from USER_PRIVILEGES
有'databaseusername'@'%'
足够权限。并不是说它对我有任何帮助,但也许它会帮助别人。[/编辑]