Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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
Php 我无法使用MySQL,因为;拒绝连接“;_Php_Mysql - Fatal编程技术网

Php 我无法使用MySQL,因为;拒绝连接“;

Php 我无法使用MySQL,因为;拒绝连接“;,php,mysql,Php,Mysql,我正在尝试在我的计算机上运行位于C:/MySQL/的Windows XP上的未安装版本的MySQL 当我尝试连接到MySQL时,我在PHP文件中收到的错误消息为 无法连接:无法建立连接,因为目标计算机主动拒绝它 我已经编辑了配置文件my.ini并更改/添加了以下内容 [client] port = 3306 socket = C:/mysql/tmp/mysql.sock [mysqld] port = 3306 socket = C:/mysq

我正在尝试在我的计算机上运行位于C:/MySQL/的Windows XP上的未安装版本的MySQL

当我尝试连接到MySQL时,我在PHP文件中收到的错误消息为

无法连接:无法建立连接,因为目标计算机主动拒绝它

我已经编辑了配置文件my.ini并更改/添加了以下内容

[client]
port        = 3306
socket      = C:/mysql/tmp/mysql.sock

[mysqld]
port        = 3306
socket      = C:/mysql/tmp/mysql.sock
basedir = C:/mysql/
datadir = C:/mysql/data/
bind-address = 127.0.0.1
skip-networking
enable-named-pipe
当我运行mysqld.exe时,我可以确认它正在命令提示符任务列表中运行。 但是,当我尝试cmd netstat-a时,我看不到3306的任何端口使用情况

在MySQL错误日志中,它读取

140411 13:30:34[注]c:\mysql\bin\mysqld.exe:准备好连接了。 版本:“5.5.37-log”套接字:“”端口:0 MySQL社区服务器(GPL)

端口:0在我看来不正确,但我不确定

当我在cmd中直接运行mysql.exe时,返回了以下内容

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
有些事情我已经试过了

  • 在C:/WINDOWS中放置my.ini的副本,并在C:/mysql中放置副本
  • 将绑定地址=127.0.0.1更改为绑定地址= 本地主机
  • PHP文件MySQL连接变体内部,localhost,127.0.0.1,127.0.0.1:3306内部基本MySQL_connect()
  • 创建tmp/mysql.sock文件(如果dir+文件不存在)
  • 注释掉my.ini中的跳过网络
  • 在运行mysqld.exe的同时在cmd中运行mysqladmin.exe,返回“无法连接到位于“localhost”的MySQL服务器”
  • 运行telnet localhost 3306返回 '连接到本地主机…无法在端口3306上打开到主机的连接:C “连接失败”
  • 注释掉my.ini中的绑定地址以允许默认设置
  • 运行mysqld.exe时,用户root(-u root)也在my.ini中插入了user=root
  • 将Windows防火墙设置为关闭

提前谢谢。

好的。您已将服务器绑定到特定的ip,请阅读此内容。请解除服务器绑定,并检查是否有合适的用户。(文档的最后一段)

您使用什么命令连接?如果您连接到127.0.0.1而不是
本地主机
,它将使用TCP而不是套接字,但是您有
跳过网络
,因此它将失败。您的PHP代码是什么样子的?您可能有错误的连接字符串。@Michael Berkowski和user2254180我已经更新了我尝试的内容列表,我本来应该包括这些内容,因为我已经尝试了许多php mysql连接变体。@Cecillin您读过了吗。命名管道仅适用于mysqld nt,您正在运行mysqld。跳过网络需要命名管道确保可以从控制台进行连接,即
mysql-h localhost dbname