Navicat导出百万级数据时,报错:2013 - Lost connection to MySQL server during query

网上一番搜索,修改mysql如下几处配置文件即可:


  1. select @@sql_mode;
  2. SET sql_mode=(SELECT REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', ''));
  3. 4194304 -- 2013 - Lost connection to MySQL server during query
  4. select @@max_allowed_packet;
  5. show global variables like 'max_allowed_packet';
  6. -- SET max_allowed_packet = 524288000
  7. SET GLOBAL max_allowed_packet = 524288000

最好修改配置文件my.cnf或my.ini,然后重启服务。

操作成功结果如下:

另一个VPN远端数据库(MySQL5.6.x)导出结果csv:


最近做数据处理时的一点感触:

1、网络IO对程序的影响真的很大,通过VPN插入更新数据比本机操作MySQL速度要慢数十倍;

如19114条数据,通过VPN网络操作DB用了164.2s,本地数据库操作使用了2.9s。(50+倍

2、索引真的很重要,百万级别的操作速度可相差好几百倍;

创建索引前,查询一百多万条数据用了481.3s,创建增加索引用了12.7s,创建索引后用了0.9s。(500+倍



PS:一些设置方法:


  1. SELECT version();
  2. SHOW engines;
  3. SHOW variables like '%storage_engine%';
  4. MySQL设置session,global变量的方法
  5. SHOW VARIABLES LIKE '%auto_increment%';
  6. -- SET GLOBAL auto_increment_offset = 1;
  7. -- SET GLOBAL auto_increment_increment = 1;
  8. -- -- 设置或修改系统日志有效期
  9. SHOW VARIABLES LIKE '%expire_logs_days%';
  10. -- SET GLOBAL expire_logs_days=8;
  11. SHOW VARIABLES LIKE '%max_connections%'
  12. -- SET GLOBAL max_connections = 2648;
  13. 如果要修改全局变量, 必须要显示指定"GLOBAL"或者"@@global.", 同时必须要有SUPER权限
  14. set global wait_timeout=100;
  15. set @@global.wait_timeout=100;
  16. select @@global.wait_timeout
  17. show global variables like 'wait_timeout';
  18. 其中show variables的话就等同于使用show session variables, 查询的是会话session变量, 只有使用show global variables查询的才是全局变量.
  19. 设置会话变量方法: 在命令行里通过SET来设置
  20. set wait_timeout=10;
  21. set session wait_timeout=10;
  22. set @@wait_timeout=10;
  23. set @@session.wait_timeout=10;
  24. 查看设置是否成功:
  25. select @@wait_timeout;
  26. select @@session.wait_timeout;
  27. show variables like 'wait_timeout';
  28. show session variables like 'wait_timeout';
  29. 将会话变量值设置为对应的全局变量值:
  30. set @@session.wait_timeout=@@global.wait_timeout;
  31. SHOW KEYS FROM user_csv_bak;
  32. SHOW INDEX FROM user_csv_bak;

Lost connection to MySQL server during query,MySQL设置session,global变量及网络IO与索引的更多相关文章

  1. [奇葩问题] ERROR 2013 (HY000): Lost connection to MySQL server during query

    查询一条耗时30s以上语句,实际为2分钟多. mysql> select version(); +------------+ | version() | +------------+ | 5.6 ...

  2. Error NO.2013 Lost connection to Mysql server during query

    系统:[root@hank-yoon ~]# cat /etc/redhat-release CentOS release 6.3 (Final) DB版本:mysql> select @@ve ...

  3. MySQL查询过程中出现lost connection to mysql server during query 的解决办法

    window7 64位系统,MySQL5.7 问题:在使用shell进行数据表更新操作的过程,输入以下查询语句: ,; 被查询的表记录数达到500W条,在查询过程中出现如题目所示的问题,提示" ...

  4. MySQL5.1升级5.6后,执行grant出错:ERROR 2013 (HY000): Lost connection to MySQL server during query【转载】

    转载: MySQL5.5升级5.6后,执行grant出错:ERROR 2013 (HY000): Lost connection to -mysql教程-数据库-壹聚教程网http://www.111 ...

  5. Procedure execution failed 2013 - Lost connection to MySQL server during query

    1 错误描述 Procedure execution failed 2013 - Lost connection to MySQL server during query 2 错误原因 由错误描述可知 ...

  6. MySQL中查询时"Lost connection to MySQL server during query"报错的解决方案

    一.问题描述: mysql数据库查询时,遇到下面的报错信息: 二.原因分析: dw_user 表数据量比较大,直接查询速度慢,容易"卡死",导致数据库自动连接超时.... 三.解决 ...

  7. 解决Lost connection to MySQL server during query错误方法

    昨天使用Navicat for MySQL导入MySQL数据库的时候,出现了一个严重的错误,Lost connection to MySQL server during query,字面意思就是在查询 ...

  8. mysqldump导出报错"mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `file_storage` at row: 29"

    今天mysql备份的crontab自动运行的时候,出现了报警,报警内容如下 mysqldump: Error 2013: Lost connection to MySQL server during ...

  9. Lost connection to MySQL server during query ([Errno 104] Connection reset by peer)

    Can't connect to MySQL server Lost connection to MySQL server during query · Issue #269 · PyMySQL/Py ...

随机推荐

  1. ALGO-19 审美课

      算法训练 审美课   时间限制:1.0s   内存限制:256.0MB      问题描述 <审美的历程>课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋 ...

  2. emwin 存在多个窗口时,如何获取当前所在窗口

    @2019-02-20 [小记] emwin存在多个窗口时,如何获取当前所在窗口 > emwin 之获取当前窗口的一种方法 [需求] 用于在代码中获知当前呈现的是哪个窗口 [方法] 进入新窗口将 ...

  3. js多回调函数

    多回调问题 前端编程时,大多通过接口交换数据,接口调用都是异步的,处理数据都是在回调函数里. 假如需要为一个用户建立档案,需要准备以下数据,然后调用建档接口 name     // 用户名字 使用接口 ...

  4. Mysql数据库操作笔记

     如果数据库表字段存在,则删除该表 drop table if exists `table_name` 创建数据库表语句 create table `table_name`( `id` ) not n ...

  5. 【linux】vim常用操作及vim插件的安装使用

    vim是linux下一个非常好用的文本编辑器,在linux下开发的人员要熟练掌握vim常用命令. 1.  打开在第n行 vim +143 filename.txt 2. 只读模式打开 vim -R / ...

  6. CF132E Bits of merry old England

    解:略一思索:网络流啊!(别问我是怎么想到的......) 发现跟志愿者招募有点像.于是把图建一下,在下面开一条通道,但是每个点又都要经过,这时我们就无脑上下界一波. 通道向点连边,有费用.每个点向它 ...

  7. django框架中的全文检索Haystack

    1.什么是Haystack Haystack是django的开源全文搜索框架(全文检索不同于特定字段的模糊查询,使用全文检索的效率更高 ),该框架支持Solr,Elasticsearch,Whoosh ...

  8. 交叉编译jpeglib遇到的问题

    由于要在开发板中加载libjpeg,不能使用gcc编译的库文件给以使用,需要自己配置使用另外的编译器编译该库文件. /usr/bin/ld: .libs/jaricom.o: Relocations  ...

  9. springboot整合jsp

    由于不想使用新模版,增加学习成本,故此延用jsp: 1.pom 文件 <!-- jsp --> <dependency> <groupId>org.apache.t ...

  10. Harbor 使用 Helm 一键安装

    安装 Harbor Harbor 支持多种安装方式,源码目录下面默认有一个安装脚本(make/install.sh),采用 docker-compose 的形式运行 Harbor 各个组件,和前面的课 ...