问题标签 [mysql-error-2006]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2653 浏览

php - MySQL 错误 2006:执行 cron 作业时 MySQL 服务器已消失

我知道当服务器重新启动或带宽问题时会发生此错误。但是我们有无限的带宽,服务器不会重新启动。我无法追踪为什么会出现此错误。

仅当我在服务器上运行 cron 作业时才会发生此错误。我每 10 分钟设置一次 cron 作业,以执行少量计算和更新表。

请帮忙。

0 投票
1 回答
2251 浏览

mysql - phpmyadmin 导出错误 2006

我们一直在使用 phpmyadmin 导出工具备份我们的网站。昨晚我们不得不从备份中恢复数据库,我们意识到大约前 40 个表已完全备份,但其余 20 个表报告为 0 行,经过调查,我们发现 phpmyadmin 导出功能打印了 #2006,MySQL 有导出转储中的所有这些表都消失了。由于创建了巨大的转储,我们永远不会注意到这一点。这非常令人沮丧和烦人,我们不得不依赖托管服务提供商的备份解决方案。

现在我的问题是,这是 phpmyadmin 的默认行为吗?导出不锁定表的 mysql 转储是否有任何可靠的解决方案?

感谢您的建议。

0 投票
1 回答
2647 浏览

mysql - MySQL 错误 2006 MySQL 服务器在 Max OS X 10.8.3 上使用 homebrew 升级到 5.6.10 后消失了

我使用自制软件升级了我在 Mac OS X 10.8.3 上安装的 MySQL

brew install mysql

一切似乎都很顺利,但……事实证明并非如此。

我无法添加新用户(无论是通过命令行还是通过 phpmyadmin。我总是收到错误消息

Error in processing request: #2006 MySQL server has gone away

我可以毫无问题地创建新数据库,并且可以毫无问题地安装例如 Joomla 3.1.1。

但是,当我尝试在我的 Joomla 安装中安装一个新的扩展时,我得到了错误。例如,当我尝试从 NoNumber 安装组件时收到以下错误:

许多其他扩展也是如此。

我试图用

mysql.server start --log-warnings=2

它开始没有问题

我查找了报告错误#2006以及如何解决它们的问题,他们提到修改/etc/my.cnf但我的系统上没有/etc/my.cnf配置文件,也没有在之前安装 MySQL 5.5.29(也安装了自制软件)中,我没有任何问题。

我跑brew doctor了,输出如下

的输出brew --config也如下:

进一步探索,我试图恢复到我以前安装的 MySQL 使用

brew switch mysql 5.5.29

这导致以下输出:

然后我从命令行访问 mysql 并运行状态:

如您在上面看到的,它报告mysql Ver 14.14 Distrib 5.5.29, for osx10.8 (i386) using readline 5.1

但是,它也说Server version: 5.6.10 Source distribution

所以有些东西没有同步。

此外,当我显示数据库时,我得到以下输出:

但我知道我拥有的不仅仅是一个information_schema数据库。

来自 phpmyadmin 的屏幕截图

所以,不知何故,在我看来,mysql 没有连接到正确的服务器,因为 phpmyadmin 报告的服务器信息与 mysql 的 status 命令报告的服务器信息相同:Software version: 5.6.10 - Source distribution.

在这一点上,我完全迷失了,真的需要一些帮助。

0 投票
1 回答
938 浏览

apc - “mysql server has gone away”错误的可能原因(php 5.4,mysqlnd)

我们最近将我们的一个网络服务器从 PHP 5.3(Debian Squeeze 软件包,使用 libmysqlclient 和 APC)升级到 PHP 5.4(Debian Wheezy,Dotdeb 软件包,使用 mysqlnd、Opcache 和 APCu)。在正常工作了将近一天之后,每个请求我们都遇到了“mysql server has gone away”错误。所有其他负载相同的服务器仍然运行 PHP 5.3 和 libmysqlclient 使用相同的 MySQL 服务器完全没有问题。在我们使用的所有服务器上:

在我们的 PHP 5.3 服务器上,我们没有更改任何 mysql/my.cnf 超时。我们知道 read_timeout (mysql)、wait_timeout (mysql)、default_socket_timeout (php) 和 max_execution_time (php) 的问题,但仅限于具有长时间运行查询的批处理脚本的上下文中。我们的网络服务器通常会在 300 毫秒左右做出响应,所以这些超时在这里应该不是问题。

当我们从负载平衡中删除服务器时,它变得非常奇怪,所以不再有负载,但我们仍然有 180 个繁忙的 Apache 进程。即使aapache2ctl graceful没有改变任何东西,甚至几个小时后apache2ctl status说:

apache2ctl restart解决了这个问题,一切都恢复正常了。MySQL 错误是我们目前发现的唯一“有用”的错误消息。

可能是 mysqlnd、opcache 或 apcu 和 PHP 5.4.30 的问题吗?是否有任何已知问题可能导致我们所经历的行为?

或者您知道如何调试“mysql 服务器已消失”问题?

0 投票
2 回答
1633 浏览

php - 2006:MySQL 服务器消失了

我经常收到“与 MySQL 服务器的连接丢失”和“2006:MySQL 服务器已消失”错误,以至于服务器无法使用。SO中有与此问题相关的问题,但没有一个适用于我的情况;例如,没有网络连接(服务器通过套接字连接到同一台机器上的客户端进程)并且没有长查询(机器正在运行许多 CMS - mediawiki、drupal 和 joomla - 并且PHPMyAdmin,但生成的查询没有什么特别的,AFAIK)。

我已将所有超时增加到一定足够的程度:

我还将 php.ini 中的 connect_timeout 设置更改为无限制:

重新启动服务器可以解决几个小时的问题。之后,通过 CMS(即通过 PHP)和通过简单查询的小型 PHP 测试程序进行的每次访问都会失败。但是,我仍然可以通过 MySQL 客户端访问 MySQL 服务器和数据库。

MySQL 错误日志中没有错误消息。

该服务器在最近的 Mac Mini 上运行,使用 Mac OS X 10.9.5、MySQL v5.6.22 和 PHP v5.6.3,使用 Mac 端口安装。

你能帮忙解决我应该在哪里处理这个问题吗?

0 投票
2 回答
4769 浏览

mysql - 在 DELETE FROM 上失去连接,而不是在 SELECT 上

如果在另一个表中不再有子记录,我正在尝试记录特定成员的记录。当我提交 DELETE FROM 时,我收到一个丢失的连接或 MySQL 服务器已经消失。如果我从数据库中选择相同的记录,我会得到一个有效的回报。我已经包含了以下交互:

有没有可能我可以做些什么来解决这个问题,或者我更有可能偶然发现了一个软件错误?

我正在运行 innodb_version:5.6.19-67.0 和 MariaDB 版本:10.0.13-MariaDB。Member 表是一个 InnoDB 表。

0 投票
2 回答
465 浏览

mysql-workbench - Windows 10 上的工作台 6.3

我的 Win 10 机器有问题Workbench 6.3。当我打开 WB 并在空闲大约一分钟后运行查询时,出现错误:

错误代码:2006。MySQL 服务器已消失
错误代码:2013。查询期间与 MySQL 服务器的连接丢失

我已将 DBMS 连接保持活动间隔、读取超时和连接超时设置为 3600 秒,但问题仍然存在。

任何想法?

0 投票
1 回答
233 浏览

mysql - phpmyadmin #2006 错误 my.cnf 配置找到正确的文件

我正在使用 centOS 的服务器,我正在尝试从另一台服务器导入数据库。从 phpmyadmin 中的文件导入时,我收到 #2006 错误“服务器已消失”

根据我找到的信息,我需要更改 max_allowed_pa​​cket 但需要在 /etc/my.cnf 中添加这一行,因为该文件没有任何变量。我找不到另一个 my.cnf (尝试 find /name my.cnf ),但它只给了我这个文件,但是当我在 phpmyadmin 中键入显示变量时 - 我有很多 vars,max_allowed_pa​​cket 为 1mb。

我在 /etc/my.cnf 和 /etc/my.cnf.d/server.cnf 中找到了 my.cnf 并且没有像 max_allowed_pa​​cket 这样的行 - 所以我添加了它,重新启动,service mariadb restart但这个值仍然是 1MB 值

我能做些什么?

0 投票
0 回答
92 浏览

php - Mysql 服务器于 2006 年消失 - 仅与 CRON 和 ajax 一起使用

我们是推送通知提供商并使用 GCM 来传递推送通知。但是从最近几天开始,我们遇到了“Mysql server gone away 2006”的问题,我们已经尝试了 Max_execution_time、MAX_PACKET_ALLOWED.. 等服务器变量。我们还添加了set_time_limit(0)到 cron 的头部。

服务器环境:

还使用pconnect False 进行 Codeigniter 数据库连接。当我们使用直接函数调用它的工作正常访问数据库时的主要问题。但是当使用 throw the cron (PHP SCRIPT) 或ajax它给mysql server gone 错误。可能是它的原因我们在 cron 中调用多个函数,但调用是同步的,这意味着第二个函数依赖于第一个函数的结果。最后,我们正在向 Google 发送推送。

0 投票
1 回答
100 浏览

python - 解决循环程序中的“ERROR 2006 (HY000): MySQL server has gone away”(mysql-connector-python)

我为最近遇到的类似问题提供了解决方案:

我有带有 MySQL 用户数据库的 Telegram (messenger) 机器人。在代码开始时存在与它的连接,导致连接在大约 10 小时后消失。因此机器人返回错误,因为无法获取有关用户的信息。

我使用mysql-connector-python框架。解决方案是使用进行数据库查询。您可以在下面看到它和使用示例。