16

我正在运行一个 Rails 应用程序,所以现在我正在尝试远程连接到 MySQL,但我收到了这个错误:

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

4

11 回答 11

11

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

ALL: ALL: DENY

或者

mysqld: ALL: DENY

是你的敌人。

于 2009-08-12T19:03:18.807 回答
8

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

于 2010-12-30T06:12:22.257 回答
4

启用远程访问。

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

skip-networking

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

mysqld: ALL : ALLOW

mysqld-max: ALL : ALLOW
于 2010-07-27T16:28:40.490 回答
4

从该主机检查

shell> telnet IP 3306

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

然后我建议您首先连接本机 mysql 客户端以从问题 aria 中排除 Rails。

于 2009-06-07T17:03:09.817 回答
3

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

打开:/etc/mysql/my.cnf

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

于 2009-10-17T16:06:18.060 回答
3

使用 OS X?mysqld重启后这个问题会消失一段时间然后重新出现吗?收到这些错误时检查 mysql 服务器日志。我看到一堆如下条目:

2019-01-30T17:34:04.009979Z 0 [Warning] File Descriptor 1564 exceeded FD_SETSIZE=1024

此错误指向潜在的解决方案: https ://expressionengine.com/blog/mysql-5.7-server-os-x-has-gone-away https://wilsonmar.github.io/maximum-limits/

其中之一是将以下设置添加到 my.cnf

[mysqld]
table_open_cache=250
于 2019-01-30T17:42:34.353 回答
1
mysqld-max: ALL : ALLOW 

为我解决了这个问题。

于 2010-10-18T09:20:40.223 回答
1

众所周知,除了我们都运行不同的操作系统(linux、osx、win$hit 等)之外,还有许多不同的方法可以在我们的机器上安装和配置 mySQL dbms(数据库管理系统)

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

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

但是我什至没有,因为/etc/hosts.deny/etc/hosts使用简单的 GUI OSX 应用程序在我的 OSX 机器上安装了 mySQL

在此处输入图像描述 MySQL 实例状态不正常上图仅供 MySQL OSX APP 参考。

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

我终于能够再次很好地访问我的本地主机实例,无需更改,创建单个文件。

希望这会有所帮助,我看到Malcolm的回答和评论,让我觉得发布这个很好。

于 2017-03-17T18:48:29.447 回答
1

操作系统:macOS

MySQL版本:5.7

杀死当前的mysql服务进程

mysql.server stop

并再次开始

mysql.server start

这为我解决了这个问题。

于 2020-10-05T09:36:32.427 回答
1

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

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

然后,我完全破坏了我的 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*
于 2018-03-27T19:41:52.523 回答
0

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

于 2009-06-07T18:19:40.220 回答