我已经使用了这段代码但没有连接到sql server进行远程连接,错误就是fire.I出现此错误:
Couldn't connect to SQL Server on XX.XXX.XX.XX
代码:
<?php
$myServer = "XX.XXX.XX.XX";
$myUser = "New";
$myPass = "123";
$myDB = "Live";
//connection to the database
$dbhandle = mssql_connect($myServer, $myUser, $myPass)
or die("Couldn't connect to SQL Server on $myServer");
//select a database to work with
$selected = mssql_select_db($myDB, $dbhandle)
or die("Couldn't open database $myDB"); ?>
此错误消息是什么?
答案 0 :(得分:1)
首先尝试远程服务器上的telnet端口,默认情况下为3306。 如果您无法访问此端口,则可能不允许在防火墙上或mysql服务器未侦听远程连接。
然后检查服务器上的mysql设置,默认情况下只能从localhost访问。在Linux服务器上,它通常在/etc/mysql/my.cnf
只需评论这一行:
bind-address = 127.0.0.1
然后检查您用于登录的用户的授权,请注意您既需要从现在的位置登录的授权,也需要在服务器上登录的授权(作为localhost)。
来自http://dev.mysql.com/doc/refman/5.1/en/adding-users.html的示例:
CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
WITH GRANT OPTION;
CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
WITH GRANT OPTION;
使用用户名“monty”和密码“some_pass”创建一个用户,该用户拥有所有数据库(*.*)
中所有表的所有权限
从任何地方(localhost
和%
- 作为任何IP)。