phpmyadmin CSV导入内存问题

时间:2014-04-07 01:20:37

标签: csv memory-leaks import phpmyadmin memory-limit

我们使用中央phpMyAdmin实例来管理许多远程mysql服务器。自从将phpMyAdmin更新为4.0.9以来,其中一位开发人员遇到了使用phpMyAdmin导入工具将CSV导入mysqld数据库的问题。 以下是详细信息: -

phpMyAdmin Version information: 4.0.9deb1.lucid~ppa.1 is used to centrally manage a number mysql instances including the developers Developer VM's

MySQL Database: /usr/libexec/mysqld  Ver 5.5.36 for Linux on x86_64 (remote host)

Apache2:
Server version: Apache/2.2.14 (Ubuntu)
Server built:   Feb 14 2012 16:42:25

PHP:
PHP 5.3.2-1ubuntu4.19 

CSV file sample in this case is 2.75MB in size.

我开始使用默认的php.ini内存限制10MB,在调试此问题时,我最终增加到256MB。当memory_limit小于128MB或更小时,收到以下错误消息:

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 203461 bytes) in /usr/share/phpmyadmin/libraries/plugins/import/ImportCsv.class.php on line 473

我设法解决了这部分问题后再增加256MB,错误更改为

Exceeds Max Allowed Packet for MySQL

我相信我已经将问题本地化到phpMyAdmin,方法是使用相同的SOURCE和TARGET主机从终端手动导入来自mysql CLI的数据来执行LOAD DATA IN FILE,没有问题,数据导入正确。

如果我们在mysql服务器的本地主机上使用phpMyAdmin(版本信息:4.1.11)我遇到了一个不同的问题,说明数据库已经消失,我已经放弃了查询,因为类似的原因需要运行太长时间。

我猜我被抛出的是"当由phpMyAdmin"处理时,2.75MB CSV如何设法将气球扩展到256MB以下?内存泄漏也许?

我在互联网上好好看看,我在这里努力想出一些不错的答案。

或许需要使用phpMyAdmin ?????

记录错误

是否有其他人遇到此问题并有解决方案?

0 个答案:

没有答案