错误 2013 (hy000) 在加载 mysqldump 时在查询期间丢失了与 mysql 服务器的连接

ale*_*xus 12 mysql mysqldump mysqladmin errors

我正在尝试加载mysqldump,但不断收到以下错误:

第 X 行的 ERROR 2013 (HY000):查询期间与 MySQL 服务器的连接丢失

/etc/my.cnf

[mysqld]
max_allowed_packet = 16M
net_read_timeout = 30
net_write_timeout = 60
...
[mysqldump]
max_allowed_packet = 16M
Run Code Online (Sandbox Code Playgroud)

我试图增加这些值,但无论如何我都会收到那个错误(我还能做些什么来克服这个错误?

小智 6

如果这里的所有其他解决方案都失败了 - 检查您的系统日志(/var/log/syslog 或类似的)以查看您的服务器在查询期间是否内存不足。

在没有配置交换文件的情况下将 innodb_buffer_pool_size 设置得太接近物理内存时会出现此问题。MySQL 建议将特定于数据库的服务器设置 innodb_buffer_pool_size 最多为物理内存的 80% 左右,我将其设置为 90% 左右,内核正在杀死 mysql 进程。将 innodb_buffer_pool_size 移回 80% 左右,从而解决了问题。

  • 我没有用完内存,我的 `innodb_buffer_pool_size` _IS_ 设置为 `80%`。 (2认同)
  • 如何查看RDS Aurora (2认同)

Rat*_*r B 5

错误代码ERROR 2013 (HY000) 与中止连接相关。您可以运行以下命令来验证这一点。

mysql> SHOW GLOBAL STATUS LIKE  'Aborted_connects';
Run Code Online (Sandbox Code Playgroud)

如果每次尝试连接时计数器都会增加一,则表明连接存在问题。

解决此问题的一种方法是增加配置文件中的连接超时值。您可以使用以下命令来完成此操作。

mysql> SET GLOBAL connect_timeout = 10;
Run Code Online (Sandbox Code Playgroud)

我希望这能帮到您。谢谢。

  • 在我收到错误后,我检查了“Aborted_connects”,它显示了“0”。 (2认同)
  • 我的很接近,但这给了我提示:我需要检查 Aborted_clients,但这在我使用“SHOW GLOBAL STATUS LIKE '%Aborted%';”检查时有效,巧合的是显示了两个 Aborted 值。 (2认同)