在单个大插入上丢失与mysql的连接

时间:2011-01-16 19:27:55

标签: mysql

我正在尝试使用定义

恢复表中的数据
CREATE TABLE UserDomainSummaries (
summary_id              INT UNSIGNED,
user_id                 BIGINT UNSIGNED,
domain_id               BIGINT UNSIGNED,
city_id                 INT UNSIGNED,
state_id                INT UNSIGNED,
country_id              INT UNSIGNED,
visitCount              INT UNSIGNED NOT NULL,
pageViewCount           INT UNSIGNED NOT NULL,
totalTimeSpentInSecs    INT UNSIGNED NOT NULL,
ffVisitCount            INT UNSIGNED NOT NULL,
ffPageViewCount         INT UNSIGNED NOT NULL,
ffTotalTimeSpentInSecs  INT UNSIGNED NOT NULL,

PRIMARY KEY(summary_id, user_id, domain_id, country_id, state_id, city_id),
FOREIGN KEY(summary_id) REFERENCES Summaries(id) ON DELETE CASCADE
) ENGINE=INNODB DEFAULT CHARSET=utf8;`

来自具有单个插入的文件,其中大量行总计为200MB。但是,在一个错误弹出之间说

ERROR 2013 (HY000): Lost Connection To MySQL Server During Query

我尝试使用

的值进行调整
innodb_buffer_pool_size
net_read_timeout
bulk_insert_buffer_size
max_allowed_packet

但无济于事。

为什么会这样?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

您可以查看wait_timeout

  

服务器在关闭非交互式连接之前等待活动的秒数。此超时仅适用于TCP / IP和Unix套接字文件连接,而不适用于使用命名管道或共享内存进行的连接。

除了使用load data之外,您还可以将单个查询(大,胖)分解为多个查询(小而细)。