我发现自己无法使用PHP连接到局域网上的MySQL服务器,只能使用PHP。这是情况的细分。
apt-get
安装。mysql_connect()
进行连接(同样,此时不再切换到其他API)。 mysql_error()
说:Can't connect to MySQL server on '192.168.0.999' (10061)
cmd
并输入mysql -h192.168.0.999 -uusername -p
来连接,(当然我的用户名实际上不是'用户名'),输入密码后我可以运行查询。我已经在PHP脚本中对拼写错误进行了三次检查,因此我现在已经完全陷入困境了。我知道错误10061是一个网络错误,无论是MySQL还是它运行的盒子,都拒绝我的连接,但是我不能将这与我可以telnet到同一主机的事实相协调,并且可以轻松地与标准连接我机器上的mysql客户端。
在任何人提出之前,AFAICT我已经按照MySQL手册中的故障排除步骤进行了操作,而PHP手册似乎没什么用处。将数据库复制到我的本地计算机是非常合乎逻辑的,非常理想,但也非常不切实际。
任何人都可以帮助我吗?
答案 0 :(得分:0)
你已经声明你在Windows上运行它,并且你可以通过命令行而不是PHP访问MySQL。
这听起来像权限问题 - 你的表是InnoDB吗?
如果是,请检查InnoDB数据库文件的权限。
答案 1 :(得分:0)
事实证明,我正在连接到正确的主机,但是连接到错误的端口。由于与问题不相关的原因,我的MySQL实例在端口3307而不是3306上运行,因此我在mysql.default_port
文件中将php.ini
设置为3307。
神秘解决了:PEBKAC!