通过 phpmyadmin 上传 2G 的 sql 文件,配置了依然不行

2017-05-29 16:25:31 +08:00
 tianxiacangshen
之前通过修改,几百 M 的好像可以上传了,但是这 2G 的死活不成功,修改 php.ini 配置文件中:

max_execution_time ( php 页面执行最大时间)=6000
max_input_time ( php 页面接受数据最大时间)=6000
memory_limit=4096 ( 4G )
upload_max_filesize (最大文件限制)=4096 ( 4G )
post_max_size ( post 大小限制)=4096 ( 4G )

修改了 phpmyadmin 的 config:

ExecTimeLimit=0 (不限制时间)
import 页面的内存限制 2*2048*1024*1024=4G
4382 次点击
所在节点    PHP
41 条回复
tianxiacangshen
2017-05-29 19:44:01 +08:00
@ToughGuy 对这种纯文本的 sql 文件来说,gz 和 zip 压缩没区别,亲测
tianxiacangshen
2017-05-29 19:44:19 +08:00
@zhaohehedola 本地 wamp 测试环境
sfree2005
2017-05-29 19:58:50 +08:00
实在不行 就把 2G 的 sql 文件分了吧。数据量大的表自己一个 sql,其他的一个 sql. 还有就是看下硬盘空间什么的够不够,给个至少 4G 剩余空间吧
zhaohehedola
2017-05-29 19:58:57 +08:00
@tianxiacangshen 本地环境也是要走 本地的 web 服务器的
Famio
2017-05-29 20:02:41 +08:00
这么想不开,2G 的 sql 用 web 上传吗= =
tianxiacangshen
2017-05-29 20:06:50 +08:00
@sfree2005 是,最后一条路就是将 sql 文件分成多份,问题是用 sublime 打开这么大的文件 sublime 也扛不住,有时候 1G 的 sublime 都能抗住
sfree2005
2017-05-29 20:13:20 +08:00
@tianxiacangshen #26 那这个 2G 也是从某个数据库导出来的吧,导出来的时候只选择不同的表分几次导出试试?
wwww961h
2017-05-29 20:52:44 +08:00
用别的工具,别用 phpmyadmin,实测 phpmyadmin 对 500M 以上的文件都不怎么好
vacker
2017-05-29 20:56:48 +08:00
先用 ssh 或者 ftp 上传到服务器,然后再服务器本地导入就可以了。
sorkl
2017-05-29 21:09:47 +08:00
@tianxiacangshen 不可以用 mysqlimport ?改了 PHP 配置没用吧,mysql 也有文件大小限制
sorkl
2017-05-29 21:12:41 +08:00
命令行下直接卡死?你是 Linux 导出导入到 windows ?有可能是编码问题。确实存在这样的奇葩问题
ddd2500
2017-05-29 22:31:14 +08:00
为什么不用命令行? 或者用 http://www.ozerov.de/bigdump/
laogui
2017-05-29 22:50:46 +08:00
以前用虚拟主机没命令行权限,用 bigdump 导入过上 G 的数据库文件。
qiukong
2017-05-30 03:00:18 +08:00
给你讲 phpmyadmin 的原理是一次性执行你 sql 里的所有语句。你就算压缩成 280MB 上传,他也是先解压,然后再执行那 2GB 的文本命令。
先不说执行 2GB 命令会不会超时的问题,执行的第一步是把文件读入内存,基本占用文件自身的 10 倍左右。你先看看内存有没有 20GB 再说吧……
Ranh
2017-05-30 04:32:10 +08:00
我前段时间才用 source a.sql 导入过一个 10 多 G 的 sql 文件,完全没问题。
kslr
2017-05-30 04:56:41 +08:00
MySQL 自带的命令就挺好用,导过四十多 g 工作都是正常。
mingyun
2017-05-30 08:30:57 +08:00
或者写代码命令行执行批量导入
GoBeyond
2017-05-30 12:35:01 +08:00
这么大就别拿 pma 折腾了
你要是用的虚拟主机那类的东西,发工单让服务商给你解决
如果你要是自己用 vps,sql 传上去,cd 到 sql 文件位置,bash 下进 mysql 命令行模式,source 进你的 sql 就可以了
GoBeyond
2017-05-30 12:36:27 +08:00
本地 wamp 是自己带 mysql 命令行客户端的吧?
不然从别人那里复制一个过来
yuweining123
2017-05-30 16:16:56 +08:00
2G 数据很多嘛!!!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/364596

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX