首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在‘读取初始通信数据包’时失去与MySQL服务器的连接,系统错误:0

在‘读取初始通信数据包’时失去与MySQL服务器的连接,系统错误:0
EN

Stack Overflow用户
提问于 2011-04-22 21:17:04
回答 37查看 603.1K关注 0票数 147

我收到错误消息:

“在‘读取初始通信数据包时失去与MySQL服务器的连接,系统错误: 0”

当我要连接我的数据库时。

如果我使用的是localhost,一切都很好。但是当我像下面这样使用我的活动IP地址时,它得到了错误:

代码语言:javascript
复制
mysql_connect("202.131.xxx.106:xxxx", "xxxx", "xxxxx") or die(mysql_error());
EN

回答 37

Stack Overflow用户

回答已采纳

发布于 2011-04-22 22:07:02

有人here认为这可能是防火墙的问题:

我刚刚遇到了这个问题,我发现这是我的防火墙。我使用的是PCTools Firewall Plus,它不允许完全访问MySQL。一旦我改变了这一点,它就没问题了。希望这能有所帮助。

会是这样吗?

此外,有人here建议,这可能是因为MySQL服务器绑定到环回IP (127.0.0.1 / localhost),这实际上切断了您与“外部”的连接。

如果是这种情况,您需要将脚本上传到need服务器(该服务器可能也在运行MySQL服务器),并保持服务器主机为'localhost‘

票数 122
EN

Stack Overflow用户

发布于 2011-07-25 22:32:06

打开名为my.cnf的mysql配置文件,查找"bind-address",将设置(127.0.0.1或localhost)替换为您的直播服务器ip (您在mysql_connect函数中使用的ip )

这肯定会解决这个问题。

谢谢

票数 46
EN

Stack Overflow用户

发布于 2016-06-28 16:30:29

1)允许远程连接到MySQL。编辑文件:

代码语言:javascript
复制
>sudo nano /etc/mysql/my.cnf

注释行:

代码语言:javascript
复制
#bind-address       = 127.0.0.1

重新启动MySQL:

代码语言:javascript
复制
>sudo service mysql restart

2)创建远程连接用户。

代码语言:javascript
复制
>mysql -uroot -p

CREATE USER 'developer'@'localhost' IDENTIFIED BY 'dev_password';
CREATE USER 'developer'@'%' IDENTIFIED BY 'dev_password';

GRANT ALL ON *.* TO 'developer'@'localhost';
GRANT ALL ON *.* TO 'developer'@'%';

3)在我的例子中,我需要使用Ubuntu从Windows远程连接到VirtualBox机器。因此,我需要在iptables中允许端口3306:

代码语言:javascript
复制
>iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT
票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5755819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档