Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL:10061错误,但仅通过PHP_Php_Mysql - Fatal编程技术网

MySQL:10061错误,但仅通过PHP

MySQL:10061错误,但仅通过PHP,php,mysql,Php,Mysql,我发现自己无法使用PHP连接到局域网上的MySQL服务器,只能使用PHP。这是形势的细目 我的服务器是192.168.0.999(当然,除了999在0-255范围之外)。这是一个Ubuntu服务器,我在那里运行MySQL 5.5,我通过apt-get安装了它 我在Windows7上使用PHP4(不,不幸的是我现在不能切换到5) 我正在使用mysql\u connect()进行连接(同样,此时不能切换到其他API)mysql\u error()表示:无法连接到'192.168.0.999'上的m

我发现自己无法使用PHP连接到局域网上的MySQL服务器,只能使用PHP。这是形势的细目

  • 我的服务器是192.168.0.999(当然,除了999在0-255范围之外)。这是一个Ubuntu服务器,我在那里运行MySQL 5.5,我通过
    apt-get
    安装了它
  • 我在Windows7上使用PHP4(不,不幸的是我现在不能切换到5)
  • 我正在使用
    mysql\u connect()
    进行连接(同样,此时不能切换到其他API)
    mysql\u error()
    表示:
    无法连接到'192.168.0.999'上的mysql服务器(10061)
  • 我可以远程登录到192.168.0.999端口3306,虽然PuTTY给了我一个关于数据包顺序的错误,但很明显有一个MySQL服务器在监听该端口
  • 我可以通过启动
    cmd
    并键入
    mysql-h192.168.0.999-uusername-p
    ,(当然,我的用户名实际上不是“username”),然后在键入密码后,我可以运行查询
我已经三次检查了PHP脚本中的凭据是否有拼写错误,所以我现在完全被难住了。我知道错误10061是一个网络错误,MySQL或它运行的盒子拒绝我的连接,但我无法将这与我可以远程登录到同一台主机,并且可以轻松连接到我机器上的标准MySQL客户端这一事实相协调

在任何人提出这个问题之前,AFAICT我已经按照MySQL手册中的故障排除步骤进行了详细说明,而PHP手册似乎没有太大帮助。将数据库复制到我的本地机器是非常合乎逻辑的,非常可取,但也非常不切实际


有人能帮我吗?

您已经声明,您正在windows上运行此程序,并且您可以通过命令行访问MySQL,但不能通过PHP

这听起来像是权限问题-您的表可能是InnoDB吗


如果是,请检查InnoDB数据库文件的权限

结果是,我连接到了正确的主机,但连接到了错误的端口。出于与问题无关的原因,我的MySQL实例在端口3307而不是3306上运行,因此我在
php.ini
文件中将
MySQL.default\u port
设置为3307


谜团解开了:PEBKAC

这些表是InnoDB表。文件本身对所有者(mysql用户)具有rwx权限,对组或其他用户没有任何权限。ib*文件对所有者和组(也是mysql)具有rw权限,没有其他权限。作为测试点,将文件的权限更改为777。我以前也遇到过这个问题,我必须处理权限问题,很明显,如果这个问题解决了,那么你需要更正权限。我尝试过,但不幸的是没有成功。