我正在尝试从服务器B连接到服务器A上的MYSQL数据库。我们正在使用的托管公司拥有服务器A和服务器B.这是我第一次尝试外部数据库连接。
我编写了以下PHP代码,尝试从服务器B连接到服务器A上的MYSQL数据库。代码看起来像我连接到外部MYSQL数据库的其他大部分代码。
$IPAddress_O_fServer_A = 'XXX.XX.XX.XXX';
$Server_A_DB_Pass = 'P-WORD';
$Server_A_DB_User = 'U-NAME';
$con = mysql_connect($IPAddress_Of_Server_A, $Server_A_DB_User, $Server_A_DB_Pass);
现在,当此代码在服务器B上执行时,我收到此错误:
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'XXX.XX.XX.XXX' (4) in /var/www/web12/web/dev/front-end.php on line 10
Could not connect: Can't connect to MySQL server on XXX.XX.XX.XXX' (4)
...第10行是mysql_connect()调用。
有没有人发现这段代码有什么问题? 如果连接不起作用,是否可以安全地说服务器外部连接权限或其他一些设置一定存在问题?
谢谢!
答案 0 :(得分:0)
首先,我会查看this,并确保您的系统配置为允许远程访问。
其次,用户名“U-NAME”实际上是“U-NAME @ localhost”,并且具有如此设置的权限。例如,请考虑以下GRANT语句。
GRANT SELECT *
ON foo.bar
TO 'U-NAME'@'localhost'
用户名“U-NAME”有权从数据库foo,表栏中选择条目,但它只能是localhost访问。为了允许远程,您必须以与以下类似的方式授予权限。
GRANT SELECT *
ON foo.bar
TO 'U-NAME'@'xx.xx.xx.xx'