我在从docker容器中运行LOAD DATA LOCAL INFILE
时遇到一个非常奇怪的问题。我试图加载的文件本质上是一个单行文件,其中3列都不大。
我击中以下命令ENTER:
LOAD DATA LOCAL INFILE '/tmp/small_file.txt' INTO TABLE Some_Table COLUMNS TERMINATED BY 't' lines terminated BY 'n' IGNORE 1 LINES;
我得到错误:
ERROR 2013 (HY000): Lost connection to MySQL server during query
我运行的下一个查询给出了消息:
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 4082
Current database: Some Database
其他问题与我所面临的问题之间的一些重要差异是:
- 文件很小,它不可能超过默认的max_allowed_packet
- 我击中Enter键的时间与出现错误消息的时间,瞬时
- 其他常规选择查询正常运行
- 这仅发生在Docker容器(
FROM php:5.6-apache
)内,而不是在主机系统中,即Mac
有趣的是,AWS EC2实例中从同一图像中运行的容器不会面临问题,这使我相信这更多是网络/配置问题。关于我应该如何调试的任何指示?
编辑:MySQL Server是AWS RDS mysql
我们遇到了相同的问题(小文件,没有延迟,其他查询还可以)。我们发现入侵预防系统阻止了连接。