php - 由于 "refused connection",我无法使用 MySQL

标签 php mysql

我正在尝试在位于我机器上 C:/mysql/ 的 Windows XP 上运行 MySQL 的无安装版本。

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

Could not connect: No connection could be made because the target machine actively refused it

我编辑了配置文件 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 [Note] c:\mysql\bin\mysqld.exe: ready for connections. Version: '5.5.37-log' socket: '' port: 0 MySQL Community Server (GPL)

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

当我在 cmd 中直接运行 mysql.exe 时,我得到以下返回值

ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)

有些事情我已经尝试过了。

  • 在 C:/WINDOWS 中放置一个 my.ini 的副本,也在 C:/mysql 中放置一个副本
  • bind-address = 127.0.0.1 更改为 bind-address = 本地主机
  • 内部 PHP 文件 MySQL 连接变体,localhost127.0.0.1127.0.0.1:3306 基本 mysql_connect()
  • 创建了 tmp/mysql.sock 文件(以防目录 + 文件不存在)
  • my.ini 中注释掉 skip-networking
  • 在运行 mysqld.exe 后在 cmd 中运行 mysqladmin.exe,返回“无法连接到位于‘localhost’的 MySQL 服务器”
  • 运行 telnet localhost 3306 返回 '正在连接到本地主机...无法在端口 3306 上打开到主机的连接:C 连接失败'
  • my.ini 中注释掉 bind-address 以允许默认设置。
  • 使用 root 用户运行 mysqld.exe (-u root) 并在 my.ini 中插入 user = root
  • 将 Windows 防火墙设置为关闭。

提前致谢。

最佳答案

好的。您已将您的服务器绑定(bind)到特定的 ip,因此请阅读此 MySQL bind-addres .请解绑您的服务器并检查您是否有正确的用户。 (文档的最后一段)

关于php - 由于 "refused connection",我无法使用 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23012836/

相关文章:

php - 如何处理从一个客户端到一个 PHP 脚本的多个并行请求

php - "show columns"mysql在zend框架中的写法

MySQL 查询以匹配英国邮政编码,而不管空格的数量

mysql - 在 MySQL 中,为什么我必须定义外键关系?

python - MySQL python : Cursor returns the variable name

php - PDO/Codeigniter 准备时出错

php - 在没有事件 session 的情况下,函数仍然从链接执行

mysql - 如何通过比较两个表中的两列来更新表中的列

php - Symfony2 禁用选择

php - Laravel 加入查询 AS