我一直在尝试将大数据上传到我的测试服务器,到目前为止我修改了一些文件:
的php.ini
memory_limit=2048M
php_value post_max_size 2048M
php_value upload_max_filesize 2048M
的my.ini
key_buffer = 32M
max_allowed_packet = 2048M
sort_buffer_size = 32M
net_buffer_length = 32M
read_buffer_size = 32M
read_rnd_buffer_size = 32M
myisam_sort_buffer_size = 64M
我可以上传大文件,大约50mb,但在尝试上传200mb左右的文件时仍然会收到以下错误:
致命错误:在1879行的C:\ Program Files \ xampp \ phpMyAdmin \ libraries \ insert_edit.lib.php中内存不足(已分配1161822208)(尝试分配462046611字节)
答案 0 :(得分:34)
在php.ini中申请
post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
然后重启wamp / lampp / xampp以使更改生效 这需要很长时间。如果您收到以下错误 “如果要完成导入,脚本超时会通过,请重新提交相同的zip文件,导入将恢复”
然后在phpMyAdmin
phpMyAdmin的\库\ config.default.php
/**
* maximum execution time in seconds (0 for no limit)
*
* @global integer $cfg['ExecTimeLimit']
*/
$cfg['ExecTimeLimit'] = 0;
改变它
答案 1 :(得分:16)
来源:How to Import Large Database Files in XAMPP
在xampp \ php \ php.ini中进行更改
寻找以下内容:
post_max_size = 8M
upload_max_filesize = 2M
max_execution_time = 30
max_input_time = 60
memory_limit = 8M
然后用以下内容替换行:
post_max_size = 750M
upload_max_filesize = 750M
max_execution_time = 5000
max_input_time = 5000
memory_limit = 1000M
如果您仍然看到相同的错误,请在完成更改后重新启动XAMPP - 尝试重新启动计算机。
答案 2 :(得分:3)
或者不是解析你的SQL,你可以通过shell进行mysql导入:
使用此CMD:mysql -p -u username database_name< file.sql
在此处阅读说明如何通过Xampp here
打开shell答案 3 :(得分:2)
尽可能尝试通过命令行导入MySQL数据。
mysql -u user -p database < dump.sql
答案 4 :(得分:0)
只需更改这两个值。
upload_max_filesize = 200M
max_execution_time = 60000