select大表报错
2024-08-25 23:34:51
MySQL查询大表报错
MySQL执行select操作时候,如果执行查询的表的数据量比较大,就会报错error code 2013。或者报错已杀死,并直接退出MySQL客户端。如下所示:
mysql> select * from test;
/usr/local/mysql/bin/mysqld_safe: line 198: 4535 Killed nohup /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/3306/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/data/3306/tmp/error.log --pid-file=/data/3306/data//mysql.pid --socket=/data/3306/mysql.sock --port=3306 < /dev/null > /dev/null 2>&1
ERROR 2013 (HY000): Lost connection to MySQL server during query
MySQL的错误日志如下:
2019-01-23T20:17:00.305460Z 4 [Note] Aborted connection 4 to db: 'test' user: 'root' host: 'localhost' (Got an error writing communication packets)
linux的系统日志如下 cat /var/log/messages:
mysql kernel: Out of memory: Kill process 5453 (mysql) score 545 or sacrifice child
mysql kernel: Killed process 5453, UID 0, (mysql) total-vm:2117292kB, anon-rss:1947792kB, file-rss:52kB
这个问题的主要原因是:服务器内存不足,服务器是Linux的,由于内存不足,mysql服务就被kill掉了,因为Linux服务器在检测到一个占内存的服务,而内存又不够用的情况下,就把那个服务给干掉,这就是Linux常见的OOM killer(Out Of Memory killer)机制。
解决方法:
1、更换大内存的服务器
2、客户端使用分页查询,使用limit控制查询数量
最新文章
- 谈谈一些有趣的CSS题目(一)-- 左边竖条的实现方法
- 二.Android手机自动化测试真机运行
- js计算散点图方程式
- oracle中时间运算
- SQLSERVER执行计划详解
- javac 不是内部或外部命令
- hdu4427Math Magic
- Sass混合宏、继承、占位符
- 触控(Touch)
- FileStream -- 复制文件
- springaop——AspectJ不可不知的细节
- idea使用maven打包项目
- springmvc的简单使用以及ssm框架的整合
- C#集合中的Add与AddRange方法
- Python操作 Memcache、Redis
- Hive学习之路 (十七)Hive分析窗口函数(五) GROUPING SETS、GROUPING__ID、CUBE和ROLLUP
- css中用#id.class的形式定义样式,为什么这样用,不直接写成.class.代码如下:#skin_0.selected{}这种的
- dubbo 响应超时异常: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout.
- 第十五篇:流迭代器 + 算法灵活控制IO流
- 《ArcGIS Runtime SDK for Android开发笔记》——(10)、ArcGIS Runtime SDK支持的空间数据类型