原因1. MySQL 服务宕了

判断是否属于这个原因的方法很简单,执行以下命令,查看mysql的运行时长

$ mysql -uroot -p -e "show global status like 'uptime';"

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| Uptime | 68928 |

+---------------+-------+

1 row in set (0.04 sec)

或者查看MySQL的报错日志,看看有没有重启的信息

$ tail /var/log/mysql/error.log

130101 22:22:30 InnoDB: Initializing buffer pool, size = 256.0M

130101 22:22:30 InnoDB: Completed initialization of buffer pool

130101 22:22:30 InnoDB: highest supported file format is Barracuda.

130101 22:22:30 InnoDB: 1.1.8 started; log sequence number 63444325509

130101 22:22:30 [Note] Server hostname (bind-address): '127.0.0.1'; port: 3306

130101 22:22:30 [Note] - '127.0.0.1' resolves to '127.0.0.1';

130101 22:22:30 [Note] Server socket created on IP: '127.0.0.1'.

130101 22:22:30 [Note] Event Scheduler: Loaded 0 events

130101 22:22:30 [Note] /usr/sbin/mysqld: ready for connections.

Version: '5.5.28-cll' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL)

如果uptime数值很大,表明mysql服务运行了很久了。说明最近服务没有重启过。

如果日志没有相关信息,也表名mysql服务最近没有重启过,可以继续检查下面几项内容。

2. 连接超时

如果程序使用的是长连接,则这种情况的可能性会比较大。

即,某个长连接很久没有新的请求发起,达到了server端的timeout,被server强行关闭。

此后再通过这个connection发起查询的时候,就会报错server has gone away

$ mysql -uroot -p -e "show global variables like '%timeout';"

+----------------------------+----------+

| Variable_name | Value |

+----------------------------+----------+

| connect_timeout | 30 |

| delayed_insert_timeout | 300 |

| innodb_lock_wait_timeout | 50 |

| innodb_rollback_on_timeout | OFF |

| interactive_timeout | 28800 |

| lock_wait_timeout | 31536000 |

| net_read_timeout | 30 |

| net_write_timeout | 60 |

| slave_net_timeout | 3600 |

| wait_timeout | 28800 |

+----------------------------+----------+

mysql> SET SESSION wait_timeout=5;

## Wait 10 seconds

mysql> SELECT NOW();

ERROR 2006 (HY000): MySQL server has gone away

No connection. Trying to reconnect...

Connection id: 132361

Current database: *** NONE ***

+---------------------+

| NOW() |

+---------------------+

| 2013-01-02 11:31:15 |

+---------------------+

1 row in set (0.00 sec)

3. 进程在server端被主动kill

这种情况和情况2相似,只是发起者是DBA或者其他job。发现有长时间的慢查询执行kill xxx导致。

$ mysql -uroot -p -e "show global status like 'com_kill'"

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| Com_kill | 0 |

+---------------+-------+

4. Your SQL statement was too large.

当查询的结果集超过 max_allowed_packet 也会出现这样的报错。定位方法是打出相关报错的语句。

用select * into outfile 的方式导出到文件,查看文件大小是否超过 max_allowed_packet ,如果超过则需要调整参数,或者优化语句。

mysql> show global variables like 'max_allowed_packet';

+--------------------+---------+

| Variable_name | Value |

+--------------------+---------+

| max_allowed_packet | 1048576 |

+--------------------+---------+

1 row in set (0.00 sec)

修改参数:

mysql> set global max_allowed_packet=1024*1024*16;

mysql> show global variables like 'max_allowed_packet';

+--------------------+----------+

| Variable_name | Value |

+--------------------+----------+

| max_allowed_packet | 16777216 |

+--------------------+----------+

1 row in set (0.00 sec)

mysql中怎样扑抓到是那个字段出错_mysql 常见的几个错误问题相关推荐

  1. MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理

    MySQL中AES_ENCRYPT('密码','钥匙')函数 可以对字段值做加密处理        AES_DECRYPT(表的字段名字,'钥匙')函数 解密处理 例,表结构: 现在插入一条数据,对p ...

  2. mysql中的自增列和默认字段值为系统时间

    1,自增列的使用设置字段类行为auto_increment,在插入数据的时候插入null即可. 例如: 创建一个Userinfo表 CREATE TABLE UserInfo (  User_ID i ...

  3. mysql里names是什么_setnames命令在mysql中除了应付乱码还能做什么?_MySQL

    做一个实验,控制台进入mysql数据库,依次执行如下代码: #创建数据库 create database it_1 charset utf8; #进入数据库 use it_1: #创建表 create ...

  4. mysql 错误问题_Mysql常见的几个错误问题及解决方法:

    Mysql常见的几个错误问题及解决方法: 1.问题: mysql DNS反解:skip-name-resolve 错误日志有类似警告: 点击(此处)折叠或打开 120119 16:26:04 [War ...

  5. MySQL中count(1),count(*),count(某字段)等用法联系和区别

    一. 从执行结果来看 count(*):所有行进行统计,包括NULL行count(1):所有行进行统计,包括NULL行count(column):对column中非Null进行统计 二. 从执行效率上 ...

  6. mysql中组合索引创建的原则是什么意思_mysql数据库建立组合索引原则

    现实中,mysql可以根据业务需要建立组合索引,由于mysql使用B-Tree格式索引,可以直接定位记录,无需扫描.mysql建立多列索引有最左前缀的原则,即最左优先,如: 如果有一个2列的索引(co ...

  7. mysql中嵌套查询分数大于70分的人数_MySQL查询练习题,自我解答版本

    #1.查询"01"课程比"02"课程成绩高的学生的信息及课程分数 SELECT c.*,a.s_score,b.s_score FROM score AS a, ...

  8. mysql 导入数据 1215_在用Navicat for MySQL给MySQL中的数据表单添加外键以及主键出现的1215错误...

    这次在学校进行生产实习,跟随老师创建一个PHP项目,实现一个电子商务系统B   to  B模式的,在设计数据库的时候,因为要实现父表和子表之间的关联,涉及到添加主键和外键,在添加的时候,无论如何都出现 ...

  9. 在Mysql中count(*)、count(1)与count(字段/列名)的详解—聚合函数count

    目录 一.简单区别 二.效率比较 三.举例 3.1创建表 3.1.1利用count(*)进行统计所有行的数目 3.1.2利用count(1)进行统计所有行的数目 3.1.3利用count(字段/列名) ...

最新文章

  1. centos6.5离线安装gcc gcc++ rpm
  2. go chapter 8 - 初始化对象
  3. PHP CURL 图灵机器人
  4. 3D 立体 backface-visibility
  5. IDEA开发中,类的头位置生成作者时间信息
  6. [渝粤教育] 西南科技大学 建筑制图 在线考试复习资料
  7. mysql 学习笔记15 子查询
  8. macos xampp mysql 命令_MAC系统XAMPP 中 MySQL命令行client配置使用
  9. 机器人最新天赋符文天赋加点图_常德2020中小学机器人竞赛开赛 286名选手现场比拼技能...
  10. 【工作总结】银行的等级架构
  11. linux 判断文件上传轨迹,linux各种常用命令
  12. 基于JQuery框架的AJAX
  13. 跟我学ModelArts丨探索ModelArts平台个性化联邦学习API
  14. bert模型可以做文本主题识别吗_BERT如何融合主题模型-ACL2020
  15. 让Safari更好用,10款实用Safari扩展推荐
  16. GitLab oauth2.0 第三方登录 单点登录
  17. Unity 游戏框架之GameFramework和ET对比
  18. 大数据平台及挖掘调研
  19. 网站:推荐几款好用的在线短链生成工具
  20. Java 语言被很多人抱怨语法繁琐、开发效率低、体系繁杂而笨重,为什么还有这么强的生命力,尤其是在企_-Chaz-_新浪博客

热门文章

  1. [C++]const 总结
  2. Autodesk Infrastructure Map Server 2014的开发文档在哪里?
  3. POJ 3322 Bloxorz I(BFS)
  4. 基于动态代码生成技术的动态对象工厂
  5. MATLAB加入螺旋相位板调制,连续型螺旋相位板设计方法与流程
  6. mysql使用释放资源_数据库--释放mysql数据库资源
  7. 【控制】能量函数Graph Laplacian Potential and Lyapunov Functions for Multi-Agent Systems
  8. 【数理知识】《积分变换与场论》王振老师-第5章-场论
  9. Ardino基础教程 22_PS2摇杆
  10. 在VS中如保快速查看DLL或exe的已导出的函数