【问题标题】:my local mysql will not connect unless my computer is connected to wireless network除非我的计算机连接到无线网络,否则我的本地 mysql 将无法连接
【发布时间】:2014-06-05 20:29:26
【问题描述】:

多年来,我一直在我的 winXP 笔记本电脑上安装 WAMP,没有出现任何问题。

但大约 2 个月前,我在笔记本电脑上安装了 SiteKiosk(在操作系统周围创建“外壳”的信息亭软件)。之后我的 HeidiSQL 软件停止工作:

语句 #0 中的 sql 错误 (2003):无法连接到 mysql 服务器 '127.0.0.1' (10061)

...所以从那时起我一直在使用基于浏览器的 phpmyadmin 连接/访问我的 mysql。

大约 2 周前我卸载了 siteKiosk,但 heidiSQL 仍然无法工作。

.

今天我带着我的笔记本电脑去客户办公室参加了一个客户会议,向他们展示了一个新的 web 应用程序。我没有连接到他们的无线网络。对我来说,在未连接的情况下演示 web 应用程序是很常见的;当然,我不需要这样做,因为 webapps 在我的本地主机上运行。

但是今天webapp抛出了一个php错误:

Warning: mysqli::mysqli() [mysqli.mysqli]: [2002] 
N  o connection could be made because the target machine actively 
(trying to connect via tcp://localhost:3306) in 
C:\Server\htdocs\keleia.com\clients\client_prevent_deloza
     \project_uDesign\php\pkg_meekrodb.php on line 177

...这是第 177 行:

$mysql = new mysqli($this->host, $this->user, $this->password, 
         $this->dbName, $this->port);

会议结束后,我回到家,我的电脑现在已连接到我的家庭网络,并且 web 应用程序运行良好。然后我故意断开了我的网络,webapp再次抛出了“未连接到mysql”的错误。

对发生的事情有什么想法吗?

【问题讨论】:

  • 这听起来像是防火墙问题。
  • Barmar,我大概有 5 年没碰过我的防火墙了。除非信息亭软件对它做了什么。
  • 我的猜测是kiosk软件调整了防火墙。
  • 所以我想对我来说一个很好的测试是:1)断开我的无线网络; 2) 断开我的防火墙; 3)刷新webapp ...
  • 也可能是 MySQL 配置问题。听起来它只配置为侦听 NIC IP,而不是 localhost。我不确定它在 MySQL 配置文件中的位置。

标签: mysql heidisql


【解决方案1】:

尝试在cmd中执行“ping localhost”,将ip地址与连接的wifi进行比较。

如果不同,请检查您的主机文件,或手动添加行

127.0.0.1    localhost

【讨论】:

  • num8er ...确实,如果我连接与断开连接,我确实会得到不同的结果。 ... .... ... 断开连接时,我得到这些:“从 127.0.0.1 回复:字节=32 时间
  • 所以尝试使用“127.0.0.1”作为主机(而不是“localhost”),这可能是因为在 mysql.User 表中主机::::1: 的用户没有权限。
  • 在 windows 中: windows\system32\drivers\etc\hosts 在 linux 中: /etc/hosts 打开文件并添加: 127.0.0.1 localhost 或只在脚本中使用“127.0.0.1”而不是“本地主机”
  • 你也可以修改mysql的配置文件,修改参数监听所有ip地址:bind-address = 0.0.0.0
  • num8er,原来“127.0.0.1 localhost”已经在主机文件中了。
猜你喜欢
  • 1970-01-01
  • 2022-08-12
  • 1970-01-01
  • 2017-03-17
  • 1970-01-01
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 2017-05-08
相关资源
最近更新 更多