通过 phpmyadmin 上传 2G 的 sql 文件,配置了依然不行 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tianxiacangshen
V2EX    PHP

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

  •  
  •   tianxiacangshen 2017-05-29 16:25:31 +08:00 4981 次点击
    这是一个创建于 3055 天前的主题,其中的信息可能已经有所发展或是发生改变。
    之前通过修改,几百 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
    41 条回复    2017-05-31 00:37:44 +08:00
    cxbig
        1
    cxbig  
       2017-05-29 16:49:15 +08:00 via iPhone   1
    这是什么场景?
    1. 不要用 http 上传这么大的文件
    2. 一定要上传也最好是.gz 类的压缩格式
    3. 除本地测试环境,其他场合用 phpmyadmin 不安全

    建议:使用基于 SSH 的通道连接远程数据库,用 MySQL Workbench 或 Navicat 之类的客户端操作。
    changwei
        2
    changwei  
       2017-05-29 17:16:15 +08:00 via Android   4
    别用 navicat 等工具远程导入数据库,我上次导入一个一百多 m 的数据库导入了六个小时。建议先 ftp 上传,然后直接使用 mysql 控制台的 source 命令导入这样速度是最快的而且最安全。
    ToughGuy
        3
    ToughGuy  
       2017-05-29 17:19:46 +08:00
    有种格式叫做 sql.gz
    shiny
        4
    shiny  
       2017-05-29 17:24:07 +08:00
    SQL 的压缩比很高的,可以试试压缩下。 如果你压缩后还有 2G 就不要用 phpMyAdmin 上传了吧。
    iamfirst
        5
    iamfirst  
       2017-05-29 17:37:31 +08:00
    先压缩打包上传到服务器,再用命令行导入
    claysec
        6
    claysec  
       2017-05-29 17:40:00 +08:00
    console upload 进去,web 端太大的文件不好支持
    anubiskong
        7
    anubiskong &nbs;
       2017-05-29 17:43:55 +08:00
    10 年了吧。。。这个月经问题
    anubiskong
        8
    anubiskong  
       2017-05-29 17:44:32 +08:00   1
    我只是觉得自己老了,大家别理我
    qiukong
        9
    qiukong  
       2017-05-29 18:15:45 +08:00
    @anubiskong 10 年了,这类问题依然存在,可见互联网并没有取得什么发展……
    lsido
        10
    lsido  
       2017-05-29 18:19:16 +08:00 via Android
    为啥想用 phpmyadmin 来处理 2g 的数据,一般上了百 M 的,基本用命令行是最有效的解决方式
    tianxiacangshen
        11
    tianxiacangshen  
    OP
       2017-05-29 18:27:42 +08:00
    @shiny 压缩之后 280M,还是不行
    tianxiacangshen
        12
    tianxiacangshen  
    OP
       2017-05-29 18:28:59 +08:00
    @lsido 本地测试数据用,并非服务器
    zhaohehedola
        13
    zhaohehedola  
       2017-05-29 18:38:53 +08:00
    有可能是 web 服务器 对文件大小有限制
    lsido
        14
    lsido  
       2017-05-29 18:40:03 +08:00 via Android
    @tianxiacangshen 本地也用命令行 source 导入啊,而且少了上传,不是更方便吗
    Reign
        15
    Reign  
       2017-05-29 18:51:26 +08:00
    强悍,我超过了 100M 的 sql 都是用的命令行导入
    zhengkai
        16
    zhengkai  
       2017-05-29 18:56:04 +08:00
    mysql < foo.sql

    zcat foo.sql.gz | mysql
    allenhu
        17
    allenhu  
       2017-05-29 19:12:47 +08:00 via Android
    好逗,浏览器上传 2g 怎么传上去的
    yumijie
        18
    yumijie  
       2017-05-29 19:20:51 +08:00
    感觉楼主是要测试极限的
    shiny
        19
    shiny  
       2017-05-29 19:31:20 +08:00
    @tianxiacangshen 不要忘了改 nginx/apache 的文件尺寸限制。另外可以描述下页面的反应。
    tianxiacangshen
        20
    tianxiacangshen  
    OP
       2017-05-29 19:43:33 +08:00
    @yumijie
    @Reign
    @lsido
    @lsido 命令行导入直接卡死.....估计文件太大
    tianxiacangshen
        21
    tianxiacangshen  
    OP
       2017-05-29 19:44:01 +08:00
    @ToughGuy 对这种纯文本的 sql 文件来说,gz 和 zip 压缩没区别,亲测
    tianxiacangshen
        22
    tianxiacangshen  
    OP
       2017-05-29 19:44:19 +08:00
    @zhaohehedola 本地 wamp 测试环境
    sfree2005
        23
    sfree2005  
       2017-05-29 19:58:50 +08:00
    实在不行 就把 2G 的 sql 文件分了吧。数据量大的表自己一个 sql,其他的一个 sql. 还有就是看下硬盘空间什么的够不够,给个至少 4G 剩余空间吧
    zhaohehedola
        24
    zhaohehedola  
       2017-05-29 19:58:57 +08:00
    @tianxiacangshen 本地环境也是要走 本地的 web 服务器的
    Famio
        25
    Famio  
       2017-05-29 20:02:41 +08:00
    这么想不开,2G 的 sql 用 web 上传吗= =
    tianxiacangshen
        26
    tianxiacangshen  
    OP
       2017-05-29 20:06:50 +08:00
    @sfree2005 是,最后一条路就是将 sql 文件分成多份,问题是用 sublime 打开这么大的文件 sublime 也扛不住,有时候 1G 的 sublime 都能抗住
    sfree2005
        27
    sfree2005  
       2017-05-29 20:13:20 +08:00
    @tianxiacangshen #26 那这个 2G 也是从某个数据库导出来的吧,导出来的时候只选择不同的表分几次导出试试?
    wwww961h
        28
    wwww961h  
       2017-05-29 20:52:44 +08:00
    用别的工具,别用 phpmyadmin,实测 phpmyadmin 对 500M 以上的文件都不怎么好
    vovov
        29
    vovov  
       2017-05-29 20:56:48 +08:00
    先用 ssh 或者 ftp 上传到服务器,然后再服务器本地导入就可以了。
    sorkl
        30
    sorkl  
       2017-05-29 21:09:47 +08:00 via iPhone
    @tianxiacangshen 不可以用 mysqlimport ?改了 PHP 配置没用吧,mysql 也有文件大小限制
    sorkl
        31
    sorkl  
       2017-05-29 21:12:41 +08:00 via iPhone
    命令行下直接卡死?你是 Linux 导出导入到 windows ?有可能是编码问题。确实存在这样的奇葩问题
    ddd2500
        32
    ddd2500  
       2017-05-29 22:31:14 +08:00
    为什么不用命令行? 或者用 http://www.ozerov.de/bigdump/
    laogui
        33
    laogui  
       2017-05-29 22:50:46 +08:00
    以前用虚拟主机没命令行权限,用 bigdump 导入过上 G 的数据库文件。
    qiukong
        34
    qiukong  
       2017-05-30 03:00:18 +08:00 via iPhone   1
    给你讲 phpmyadmin 的原理是一次性执行你 sql 里的所有语句。你就算压缩成 280MB 上传,他也是先解压,然后再执行那 2GB 的文本命令。
    先不说执行 2GB 命令会不会超时的问题,执行的第一步是把文件读入内存,基本占用文件自身的 10 倍左右。你先看看内存有没有 20GB 再说吧……
    Ranh
        35
    Ranh  
       2017-05-30 04:32:10 +08:00
    我前段时间才用 source a.sql 导入过一个 10 多 G 的 sql 文件,完全没问题。
    kslr
        36
    kslr  
       2017-05-30 04:56:41 +08:00 via Android
    MySQL 自带的命令就挺好用,导过四十多 g 工作都是正常。
    mingyun
        37
    mingyun  
       2017-05-30 08:30:57 +08:00
    或者写代码命令行执行批量导入
    GoBeyond
        38
    GoBeyond  
       2017-05-30 12:35:01 +08:00 via Android
    这么大就别拿 pma 折腾了
    你要是用的虚拟主机那类的东西,发工单让服务商给你解决
    如果你要是自己用 vps,sql 传上去,cd 到 sql 文件位置,bash 下进 mysql 命令行模式,source 进你的 sql 就可以了
    GoBeyond
        39
    GoBeyond  
       2017-05-30 12:36:27 +08:00 via Android
    本地 wamp 是自己带 mysql 命令行客户端的吧?
    不然从别人那里复制一个过来
    yuweining123
        40
    yuweining123  
       2017-05-30 16:16:56 +08:00
    2G 数据很多嘛!!!
    maskerTUI
        41
    maskerTUI  
       2017-05-31 00:37:44 +08:00 via Android
    直接命令行导入就好了,我以前 20g 的 sql 文件导入都没问题,卡的时候等就好了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     863 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 21:56 PVG 05:56 LAX 14:56 JFK 17:56
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86