【问题标题】:MySQL - Error 2013: Lost Connection to MySQL server during Query - LocalhostMySQL - 错误 2013:在查询期间丢失与 MySQL 服务器的连接 - 本地主机
【发布时间】:2018-03-23 19:02:46
【问题描述】:

我刚刚在我的计算机上安装了一个 SQL 服务器,并将数据存储指向另一个非 C 驱动器。在通过以下方式创建表后,我一直在尝试导入 Kaggle 数据作为测试:

LOAD DATA LOCAL INFILE 'G:\\Extract_large\\user_logs.csv'
INTO TABLE user_logs
fields terminated by ','
enclosed by '"'
lines terminated by '\n'
ignore 1 rows; 

数据自然是相当大的,在每次尝试导入期间,我总是通过Error Code: 2013 Lost connection to MYSQL server during Query 失去与服务器的连接。我做了一些搜索,并在 stackoverflow 中遇到了一些其他类似的线程(不是专门针对 localhost),这导致我增加了 DBMS 连接参数,特别是我设置:

DBMS connection Keep-alive interval (in seconds): 10,000
DBMS connection read timeout (in seconds): 200
DBMS connection timeout (in seconds): 10,000

这并没有解决问题,所以我进一步编辑了my.ini 信息以设置max_allowed_packet=100000M。一旦我重新启动服务器,这仍然不起作用。

最后,我在 SQL 中尝试了set global max_allowed_packet=500000000000。再次没有成功。我没有想法...帮助?

以下是我设法找到对这个主题有用的其他主题:hereherehere

注意:我正在运行带有 MySQL 5.7 的 Windows 7。该错误似乎发生在 30.5 或 1573.6 秒(给或需要几毫秒)。

【问题讨论】:

  • 我不知道 SQL-server 不同于 MySQL 服务器。标签已被编辑。

标签: mysql mysql-workbench


【解决方案1】:

根据https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_allowed_packet,max_allowed_pa​​cket 最大允许值为 1G

我尝试使用 MySQL 5.6.31 进行测试,将其更改为 500G,但更改被忽略,之前的值仍然有效。

还要注意,除了更改服务器端的 max_allowed_pa​​cket 之外,您可能还需要更改某些客户端中的同名选项,特别是 mysqlmysqldump。其他命令行客户端使用客户端默认的 1GB。

因此,如果您使用mysql 客户端运行LOAD DATA,则需要告诉客户端使用更大的数据包大小。

mysql --max_allowed_packet=1073741824 ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 1970-01-01
    • 2017-05-05
    • 1970-01-01
    • 2012-05-20
    • 1970-01-01
    相关资源
    最近更新 更多