我想分析发送到MySQL服务器的查询。 程序(发送查询)代码应该是相同的 所以,这是连接MySQL服务器的功能:
if (mysql_connect('127.0.0.1', 'root', '12345')) {
mysql_select_db('db');
} else {
print "connection failed....";
}
我使用ip 127.0.0.3创建了自己的服务器并侦听了端口3303。 所以,我像这样重写这个函数:
if (mysql_connect('127.0.0.3:3303', 'root', '12345')) {
mysql_select_db('db');
} else {
print "connection failed....";
}
当我尝试连接我的服务器时,看到一个连接,但没有收到任何数据,例如登录('root')和密码。所以,我无法从我的服务器程序
连接到MySQL什么是最好的解决方案? 谢谢
答案 0 :(得分:1)
嗯,首先,标准的mysql端口是3306.我会检查127.0.0.3上的配置文件,以确保它是设置的端口,并且没有防火墙阻止该端口。
作为猜测,我会确保你有
# skip-networking
在配置文件中。在某些安装中,默认情况下skip-networking
已启用,并且服务器不会侦听来自其他计算机的连接。
此外,服务器可能不会将任何数据包转发到127.0.0.x,因为它是为localhost保留的。要确定这一点,请确保两台计算机之间的基本网络正常工作(ping,traceroute)。
答案 1 :(得分:0)
为了调试目的,吐出一个固定的“连接失败”错误消息是完全没用的。试试这个:
if (mysql_connect('127.0.0.3:3303', 'root', '12345')) {
...
} else {
die(mysql_error());
}
让MySQL确切地告诉你问题是什么,而不仅仅是说有问题并在黑暗中徘徊。