Lost connection to MySQL server during query,MySQL设置session,global变量及网络IO与索引
Navicat导出百万级数据时,报错:2013 - Lost connection to MySQL server during query
网上一番搜索,修改mysql如下几处配置文件即可:
-
select @@sql_mode;
-
SET sql_mode=(SELECT REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', ''));
-
-
4194304 -- 2013 - Lost connection to MySQL server during query
-
select @@max_allowed_packet;
-
show global variables like 'max_allowed_packet';
-
-- SET max_allowed_packet = 524288000
-
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:一些设置方法:
-
SELECT version();
-
SHOW engines;
-
SHOW variables like '%storage_engine%';
-
-
MySQL设置session,global变量的方法
-
SHOW VARIABLES LIKE '%auto_increment%';
-
-- SET GLOBAL auto_increment_offset = 1;
-
-- SET GLOBAL auto_increment_increment = 1;
-
-- -- 设置或修改系统日志有效期
-
SHOW VARIABLES LIKE '%expire_logs_days%';
-
-- SET GLOBAL expire_logs_days=8;
-
SHOW VARIABLES LIKE '%max_connections%'
-
-- SET GLOBAL max_connections = 2648;
-
如果要修改全局变量, 必须要显示指定"GLOBAL"或者"@@global.", 同时必须要有SUPER权限
-
set global wait_timeout=100;
-
set @@global.wait_timeout=100;
-
select @@global.wait_timeout
-
show global variables like 'wait_timeout';
-
-
其中show variables的话就等同于使用show session variables, 查询的是会话session变量, 只有使用show global variables查询的才是全局变量.
-
-
设置会话变量方法: 在命令行里通过SET来设置
-
set wait_timeout=10;
-
set session wait_timeout=10;
-
set @@wait_timeout=10;
-
set @@session.wait_timeout=10;
-
查看设置是否成功:
-
select @@wait_timeout;
-
select @@session.wait_timeout;
-
show variables like 'wait_timeout';
-
show session variables like 'wait_timeout';
-
将会话变量值设置为对应的全局变量值:
-
set @@session.wait_timeout=@@global.wait_timeout;
-
-
-
SHOW KEYS FROM user_csv_bak;
-
SHOW INDEX FROM user_csv_bak;
Lost connection to MySQL server during query,MySQL设置session,global变量及网络IO与索引的更多相关文章
- [奇葩问题] ERROR 2013 (HY000): Lost connection to MySQL server during query
查询一条耗时30s以上语句,实际为2分钟多. mysql> select version(); +------------+ | version() | +------------+ | 5.6 ...
- 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 ...
- MySQL查询过程中出现lost connection to mysql server during query 的解决办法
window7 64位系统,MySQL5.7 问题:在使用shell进行数据表更新操作的过程,输入以下查询语句: ,; 被查询的表记录数达到500W条,在查询过程中出现如题目所示的问题,提示" ...
- 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 ...
- Procedure execution failed 2013 - Lost connection to MySQL server during query
1 错误描述 Procedure execution failed 2013 - Lost connection to MySQL server during query 2 错误原因 由错误描述可知 ...
- MySQL中查询时"Lost connection to MySQL server during query"报错的解决方案
一.问题描述: mysql数据库查询时,遇到下面的报错信息: 二.原因分析: dw_user 表数据量比较大,直接查询速度慢,容易"卡死",导致数据库自动连接超时.... 三.解决 ...
- 解决Lost connection to MySQL server during query错误方法
昨天使用Navicat for MySQL导入MySQL数据库的时候,出现了一个严重的错误,Lost connection to MySQL server during query,字面意思就是在查询 ...
- 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 ...
- 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 ...
随机推荐
- ALGO-19 审美课
算法训练 审美课 时间限制:1.0s 内存限制:256.0MB 问题描述 <审美的历程>课上有n位学生,帅老师展示了m幅画,其中有些是梵高的作品,另外的都出自五岁小朋 ...
- emwin 存在多个窗口时,如何获取当前所在窗口
@2019-02-20 [小记] emwin存在多个窗口时,如何获取当前所在窗口 > emwin 之获取当前窗口的一种方法 [需求] 用于在代码中获知当前呈现的是哪个窗口 [方法] 进入新窗口将 ...
- js多回调函数
多回调问题 前端编程时,大多通过接口交换数据,接口调用都是异步的,处理数据都是在回调函数里. 假如需要为一个用户建立档案,需要准备以下数据,然后调用建档接口 name // 用户名字 使用接口 ...
- Mysql数据库操作笔记
如果数据库表字段存在,则删除该表 drop table if exists `table_name` 创建数据库表语句 create table `table_name`( `id` ) not n ...
- 【linux】vim常用操作及vim插件的安装使用
vim是linux下一个非常好用的文本编辑器,在linux下开发的人员要熟练掌握vim常用命令. 1. 打开在第n行 vim +143 filename.txt 2. 只读模式打开 vim -R / ...
- CF132E Bits of merry old England
解:略一思索:网络流啊!(别问我是怎么想到的......) 发现跟志愿者招募有点像.于是把图建一下,在下面开一条通道,但是每个点又都要经过,这时我们就无脑上下界一波. 通道向点连边,有费用.每个点向它 ...
- django框架中的全文检索Haystack
1.什么是Haystack Haystack是django的开源全文搜索框架(全文检索不同于特定字段的模糊查询,使用全文检索的效率更高 ),该框架支持Solr,Elasticsearch,Whoosh ...
- 交叉编译jpeglib遇到的问题
由于要在开发板中加载libjpeg,不能使用gcc编译的库文件给以使用,需要自己配置使用另外的编译器编译该库文件. /usr/bin/ld: .libs/jaricom.o: Relocations ...
- springboot整合jsp
由于不想使用新模版,增加学习成本,故此延用jsp: 1.pom 文件 <!-- jsp --> <dependency> <groupId>org.apache.t ...
- Harbor 使用 Helm 一键安装
安装 Harbor Harbor 支持多种安装方式,源码目录下面默认有一个安装脚本(make/install.sh),采用 docker-compose 的形式运行 Harbor 各个组件,和前面的课 ...