当我尝试在localhost上导入magento数据库时,我遇到了一些问题。它只导入18个表,但实际上它包含383个表。它给出了以下错误
致命错误:第253行/usr/share/phpmyadmin/libraries/import.lib.php中允许的内存大小为16777216字节(试图分配2089674字节)
此问题将如何配置。
是否需要更改php.ini
?
答案 0 :(得分:15)
使用它:
c:\mysql\bin\> mysql -u username -p password database_name < filename.sql
使用命令行导入
或 在php.ini
memory_limit = 256M
将此更改为其他更大的值。但Dan说使用命令行是可取的。
答案 1 :(得分:11)
phpMyAdmin最近一直在限制我内存限制(我甚至没有导入/执行大量数据)所以我在config.inc.php中尝试了以下内容
$cfg['MemoryLimit'] = '128M';
https://docs.phpmyadmin.net/en/latest/config.html#cfg_MemoryLimit
答案 2 :(得分:1)
试试这个http://dev.mysql.com/doc/refman/5.5/en/mysqlimport.html我能够导入一个930 MB的数据库。
答案 3 :(得分:1)
您可以像其他答案提到的那样更改php.ini。你可以在localhost上使用它。但是在具有更多虚拟主机的网络服务器上,您可能不希望增加所有主机的内存限制(这是php.ini中的指令)。
仅为给定的虚拟主机编辑虚拟主机设置增加内存限制。例如:
<VirtualHost *:443>
#your virtualhost settings
php_value memory_limit 64M #place any number you need
</VirtualHost>
或者,您可以将相同的php_value放入.htaccess文件中,但您的虚拟主机必须允许更改此值。
答案 4 :(得分:0)
我在迁移数据库方面遇到了同样的问题。
尝试使用以下查询更改导出到构建文件的配置:
INSERT INTO tbl_name VALUES (1,2,3)
当我创建像这样的查询时:
INSERT INTO tbl_name (col_A,col_B) VALUES (1,2,3), (4,5,6), (7,8,9)
查询太大,无法在内存中分配它们。 当我更改它时,会有很多小查询,所以内存没有问题。
答案 5 :(得分:0)
就我而言,它通过在文件pcre.jit=0
中指定php.ini
来起作用。
答案 6 :(得分:-2)
使用此:
编辑您的php.ini文件:更改
memory_limit = 256M