情景:我需要导入一张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. UITableViewCell笔记

    默认的四种cell的类型 原网站 还有这个带图的 据我自己试验,只有value2不自带imageview 不同的accessoryType 可以看到,一个tabelviewcell的contentvi ...

  2. fastcgi main

    main函数里 当kill -TERM pid 时, http://redfoxli.github.io/php-fpm-signals.html  这篇文章 说是 1)master主进程接收到sig ...

  3. mysql 快照读MVCC

    mysql的读分快照读和当前读 快照读 是指写的同时,读不阻塞,达到并发的作用 这时候的读 是 记录的历史版本,存在于undo里,当然回滚时就的也是这个undo 当执行一条update语句时,记录本身 ...

  4. 2019.2.15 t3 平均值

    #include <cstdio> #include <iostream> #include <cstring> #include <cmath> #i ...

  5. js计算器案例

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>j ...

  6. 如何判断一个对象实例是不是某个类型,如Cat类型

    <script> function cat(){} var b = new cat(); if(b instanceof cat){ console.log("a是cat&quo ...

  7. Shell基本知识

    Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以使用Shell来启动.挂起.停止甚至编写一些程序. Shell还是一个功 ...

  8. JDBC概念和使用

    JDBC学习:    JAVA的数据获取方式:        1 直接声明变量并赋值.                 2 Scanner类控制台输入        3 IO流(将硬盘存储中的数据读取 ...

  9. leetcode 191:统计1的个数;5 最长回文串;54,59 蛇形矩阵

    class Solution { public: int hammingWeight(uint32_t n) { ; //统计次数 ){ n &= (n-); //每次消掉一个1 k++; / ...

  10. [转] HBase 深入浅出

    [From] https://www.ibm.com/developerworks/cn/analytics/library/ba-cn-bigdata-hbase/index.html HBase ...