我正在与我的大学系统管理员合作,为我设置LAMP堆栈。我需要从我正在处理的几个网站访问这个服务器,我遇到了一些问题。
所以要保持清楚:
LAMP服务器网址= http s :// mysqlserver.edu
学校网址= http s ://schoolsite.edu
当我在LAMP服务器上运行mysql_connect()时它连接正常:
mysql_connect('localhost','user','password'); 效果很好!
但是,当我在学校网址上运行mysql_connect()时,我无法连接:
mysql_connect('mysqlserver.edu','user','password');
警告:mysql_connect():第3行的/home/content/x/x/x/xxx/html/testconnect.php中的未知MySQL服务器主机'mysqlserver.edu'(1) 未知的MySQL服务器主机'mysqlserver.edu'(1)
我需要系统管理员做什么才能让外部站点上的PHP脚本访问MySQL服务器?
SSL是否会使问题复杂化?
我感谢您提供的任何见解。
答案 0 :(得分:1)
未知的MySQL服务器主机可能意味着您的计算机无法解析为主机名mysqlserver.edu,您是否尝试通过IP地址进行连接?
在确定要解析名称后,您必须克服另外三个障碍:
答案 1 :(得分:0)
MySQL用户依赖于它所访问的计算机。 'root @ localhost'与'root@192.168.0.156'不同。因此,您必须从要访问的计算机中添加用户。因此,假设提供php脚本的计算机是'192.168.156',您需要将用户'user@192.168.0.156'添加到MySQL服务器,并且不要忘记为该用户设置访问数据库的权限需要的。
希望这有帮助
答案 2 :(得分:0)
通过公共WAN建立MySQL连接很少见。一两个局域网跳一般是常见的,但出于安全原因,通常无法通过防火墙。也就是说,到端口3306的传入TCP连接被防火墙或网关阻塞到mysqlserver.edu所在的本地LAN上。
对此的规范测试是:
$ telnet mysqlserver.edu 3306
我可以预测这不起作用。 (“工作”表示它报告“已连接到...”并输出一些乱码。)您有多种选择:
答案 3 :(得分:0)
my.cnf中是否启用了“skip-name-resolve”选项?