情景:我需要导入一张1.03GB的数据表,但是phpmyadmin导入文件默认为不能超过2M。因此需要修改phpmyadmin导入文件的大小限制。

1.phpmyadmin的导入也就是php完成文件上传的过程,因此先修改配置文件php.ini的上传相关参数:
  1.1修改上传文件大小
  upload_max_filesize   最大上传文件大小参数,默认为2M。修改成1500M,即upload_max_filesize = 1500M
  post_max_size       允许POST的数据最大字节长度参数,默认为8M。修改成1500M,即post_max_size = 1500M
  1.2修改php上传环境(因为php上传大文件时,页面执行时间,占用内存会变高)
  max_execution_time  php页面执行最大时间参数。修改成300s,即max_excution_time = 300
  max_input_time    php页面接受数据最大时间参数。修改成300s,即max_input_time = 300
  memory_limit     php页面占用的最大内存参数。修改成128M,即memory_limit = 128M
  
2.重新导入数据表,但是浏览器页面出现"提示已重置"等错误信息,查看nginx错误日志。

// :: [error] #: * client intended to send too large body:  bytes, client: 120.36.255.19, server: localhost, request: "POST /phpMyAdmin/import.php HTTP/1.1", host: "48.107.92.147"
  // :: [error] #: * upstream timed : Connection timed out) while reading response header from upstream, client: 120.36.255.19, server: localhost, request: "POST /phpMyAdmin/import.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "48.107.92.147"

即:一个是尝试发送大数据包失败,一个是连接超时。需要修改nginx配置文件nginx.conf

...
http {
      ...
      client_max_body_size     1500M; #设置网页上传文件的最大值
      proxy_connect_timeout    ;   #10分钟
      proxy_read_timeout       ;   #10分钟
      proxy_send_timeout       ;   #10分钟
      ...
      server {
          ...
          error_log /data/wwwlogs/nginx.error.log  error;
          ...
      }
      ...
  }
...

同时设置mysql接收文件的最大值:
SHOW VARIABLES LIKE "max_allowed_packet";
SET GLOBAL max_allowed_packet = 1024*1024*1500;

3.重新导入数据表,成功。

  

修改phpmyadmin不能导入大文件的限制的更多相关文章

  1. Bottle + WebUploader 修改Bottle框架从而大文件上传实现方案

    Bottle 是个轻量级的Web框架,小巧又强大,真不愧是个轻量级的框架.可扩展性非常好,可以扩展很多功能,但是有些功能就不得不自己动手修改了. Bottle:http://www.bottlepy. ...

  2. mysql windows 下导入大文件

    先进入你的mysql bin目录 cd D:/php/mysql/bin 输入命令 mysql -u 用户名 -p 密码 数据库名 < 文件路径                          ...

  3. mysql导入大文件sql

    备份mysqldump mysqldump -u root -p ao2012 > /mnt/www/zq_ao2012/backup.sql 然后数据库密码 导入 mysql -h local ...

  4. mysql怎么导入大文件的sql文件

    这个方法在windows上或者linux上都可以使用 多数人习惯使用phpmyadmin或者一些客户端比如workbench,navicat 但是最有效的是原生的php工具 命令都差不多 请在cmd的 ...

  5. Mysql导入大文件报错(MySQL server has gone away(error 2006))

    前言 我们在导入mysql数据时候,mysql客户端突然报错:MySQL server has gone away(error 2006) 类似这种情况,处理思路为:调节mysql允许导入包的大小即可 ...

  6. elasticsearch bulk批量导入 大文件拆分

    命令如下: curl -s -XPOST http://localhost:9200/_bulk --data-binary @data.json 如果上传的data.json文件较大,可以将其切分为 ...

  7. SqlServer导入大文件Sql

    sqlcmd -S "192.168.1.218" -U "sa" -P "1qaz~xsw2" -d "SispMain&quo ...

  8. 解决MySQL在导入大文件时候,出现MySQL Server has gone away的问题

    编辑/etc/my.cnf文件,在[myslqd]节点,添加 max_allowed_packet = 64M 随后重启MySQL即可.

  9. linux mysql source 导入大文件报错解决办法

    找到mysql的配置文件目录 my.cnf interactive_timeout = 120wait_timeout = 120max_allowed_packet = 500M 在导入过程中可能会 ...

随机推荐

  1. 使用私有git仓库备份服务器脚本和配置文件

    1. 创建私有git仓库 服务器端配置: # 安装 git yum -y install git # 创建 git 用户 useradd git # 创建私有仓库数据存储目录 mkdir /git_b ...

  2. 将SQLAlchemy对象转化为dict

    需求一,将数据对象转为dict,但是不包括relation, import BaseClass #所有模型的基础类 def getDictFromObj_nr(obj): return_dict={} ...

  3. windows 安装python问题总结

    一.安装支持包 很多二进制包 NumPy-1.9+MKL 以及 Microsoft Visual C++ 2008 (x64, x86, and SP1 for CPython 2.6 and 2.7 ...

  4. maven项目报错

    [root@kube-master iff]# kubectl logs iff-dm-3029278244-9qrp6 -n iffjava.lang.IllegalArgumentExceptio ...

  5. js实现checkbox全选,全部选和反选效果

    效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  6. 实验三敏捷开发与XP实践《Java开发环境的熟悉》实验报告

    一.实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2.完成实验.撰写实验报告,实验报告以博客方式发表在博客园,注意实验报 ...

  7. python全栈开发_day3_数据类型,输入输出及运算符

    一:常见数据类型 1)int整型 例:age=1 整型常用于年龄,账号等 2)float浮点型 例:salary=5.1 浮点型常用于薪水,身高,体重等 3)str字符串类型 例:name=“chen ...

  8. AC自动机模板题

    AC自动机学习博客 AC自动机理解要点: 1)fail指针指向的是每个节点,在字典树上和这个节点后缀相同的最长单词,每次都这样匹配,必定不会漏过答案. 2)字典树建立后,会在bfs求fail阶段把字典 ...

  9. GTID 笔记

    1.生成事务 root@(none)>use pxc01 Database changed root@pxc01>create table tbx(id int); Query OK, 0 ...

  10. js获取窗口宽度、高度

    1.获取屏幕的高度和宽度(屏幕分辨率): window.screen.height window.screen.width 2.获取屏幕工作区域的高度和宽度(去掉状态栏): window.screen ...