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

我正在运行一个Rails应用程序所以现在我正在尝试远程连接到mysql并且我收到此错误无法连接:在’读取初始通信数据包’时失去与MySQL服务器的连接,系统错误:0

你可能想检查你的/etc/hosts.deny在哪里:

 ALL: ALL: DENY 

要么

 mysqld: ALL: DENY 

是你的敌人

检查该主机

 shell> telnet IP 3306 

如果MySQL已启动且可访问,您将在telnet输出中看到mysql版本。 否则检查防火墙等,直到telnet成功。

然后我建议你首先连接本机mysql客户端,从问题咏叹调中排除Rails。

启用远程访问

默认情况下,MySQL服务器不侦听TCP端口3306。 要允许(远程)TCP连接,请在/etc/mysql/my.cnf中注释以下行:

跳过网络

请记住通过添加以下行来编辑/etc/hosts.allow:

mysqld:ALL:ALLOW

mysqld-max:ALL:ALLOW

您需要编辑mysql配置文件,默认情况下bind-adress设置为127.0.0.1

打开: /etc/mysql/my.cnf

bind-adress adress更改为您将用于将yoursef连接到数据库服务器的ip。

重新启动服务器对我有用。 无需更改设置。

谢谢你们的努力,我找到了解决方案,我想将远程连接设置为MySQLhere是一个有相同错误的人的链接http://benrobb.com/2007/01/15/howto-remote-根访问到MySQL /

mysqld-max:ALL:ALLOW为我解决了这个问题

我们都知道在我们的机器上安装和配置mySQL dbms(数据库管理系统)有很多不同的方法,除了我们都运行不同的操作系统(linux,osx,win $ hit等)

在我的情况下,特别是我得到了

connect': Lost connection to MySQL server at 'reading initial communication packet', system error: 102 (Mysql2::Error)

但是我甚至没有/etc/hosts.deny我只有/etc/hosts因为我使用简单的GUI OSX app在我的OSX机器上安装了mySQL

在此处输入图像描述 MySQL实例状态不正常上面的图像只是MySQL OSX APP的参考。

简单的服务器重新启动解决了这个问题。(在我的情况下,我必须重启我的机器,但这涉及重启MySQL服务器)

我终于能够再次访问我的localhost实例,不必更改,创建单个文件。

希望这有帮助,我看到马尔科姆的回答和评论,并让我觉得发布这个很好。

似乎没有人回答这个问题,并且它似乎在最初提交后将近7年后重新出现。 我在运行Capybara的Rails应用程序中看到了这个(使用phantomjs),我的集成规范(仅)会间歇性地失败。

重新启动机器暂时解决了问题。

然后我完全破坏了我的MySQL安装(请参阅https://community.jaspersoft.com/wiki/uninstall-mysql-mac-os-x )并使用自制程序重新安装它。 这个问题似乎已经消失,但如果它回来我会更新这个答案。

完全破坏你的MySQL安装(来自https://community.jaspersoft.com/wiki/uninstall-mysql-mac-os-x ):

打开终端窗口使用mysqldump将数据库备份到文本文件! 停止数据库服务器

 sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* 

编辑/ etc / hostconfig并删除行MYSQLCOM = -YES-

 rm -rf ~/Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo rm -rf /private/var/db/receipts/*mysql*