phpmyadmin CSV导入内存问题
我们使用一个中心phpMyAdmin实例来管理许多远程mysql服务器。其中一位开发人员向我提出了一个问题:自从将phpMyAdmin更新为4.0.9以来,使用phpMyAdmin导入工具将CSV导入mysqld数据库。 详情如下:-phpmyadmin CSV导入内存问题,csv,memory-leaks,import,phpmyadmin,memory-limit,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
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。当内存限制小于或等于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,通过从终端执行加载文件中的数据手动从mysql CLI使用相同的源和目标主机导入数据,没有问题,数据导入正确
如果我们在mysql服务器(版本信息:4.1.11)的本地主机上使用phpMyAdmin,我会遇到另一个问题,消息中指出数据库已经消失,我将其归因于查询运行时间过长,原因与此类似
我猜我被抛在脑后的是“当phpMyAdmin处理一个2.75MB的CSV时,它怎么会膨胀到256MB以下?”?也许是内存泄漏
我在互联网上有一个很好的观察,我正在努力找到一些合适的答案
也许需要用phpMyAdmin记录一个bug
还有其他人遇到过这个问题并有解决方案吗