导致“mysql has gone away”的两种情况

By Cruise

1.  wait_timeout参数

在开发代理server时, 我使用了jdbc连接数据库,并采用长连接的方式连接数据库。开发完后的测试ok,但到了第二天测试时发现数据库操作失败,并抛出“mysql has gone away”的异常,主要原因是在mysql中有一个wait_timeout参数,默认设置为8个小时,当超过8个小时没有数据交互时,mysql服务器会主动关闭掉超时的连接,对应的mysql 错误码是2006。

这个时候需要业务侧做相关的处理,当发现有这种异常时需要重新连接数据库。其实在使用wbl mysql库时,wbl已经为我们做了这些,代码如下:

if (mysql_real_query(_Mysql, sql.c_str(), sql.length()))

{

string err(sql.c_str(),0,128);

int ret_errno = mysql_errno(_Mysql);

Close();

if (ret_errno == 2013 || ret_errno == 2006){ // CR_SERVER_LOST,重连一次

Connect();

2. max_allowed_packet参数

当查询接口每秒钟的请求到达60个以上时,发现日志中出现了大量的“mysql has gone away”,但这个时候的数据库连接是正常的,这个时候就和例外一个mysql参数有关。show variables like 'max_allowed_packet'查看了下,发现max_allowed_packet参数设置的是1M,正是max_allowed_packet设置的太小导致了该问题,将max_allowed_packet设置为16M,问题彻底解决。

mysql has gone_导致“mysql has gone away”的两种情况相关推荐

  1. ip变更 mysql无法启动_ubuntu mysql 更改IP导致mysql无法启动

    bind-address = 127.0.0.1 => bind-address= 136.129.20.168 IP要这么改 这么改远程连不上,那么需要把这行整行注释掉,重启MYSQL,tel ...

  2. MySQL的INSERT ··· ON DUPLICATE KEY UPDATE使用的几种情况

    MySQL的INSERT ··· ON DUPLICATE KEY UPDATE使用的几种情况 在MySQL数据库中,如果在insert语句后面带上ON DUPLICATE KEY UPDATE 子句 ...

  3. mysql 产品表 myisam好还是innodb好_mysql两种表存储结构myisam和innodb的性能比较测试...

    MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与 ...

  4. MySQL笔记-解决...mysql.sock (13)(两种情况会产生此问题)

    遇到这个mysql.sock(13)一般是两种情况. 一个是mysql.sock权限不够,最少要个775权限: chmod -R 775 /var/lib/mysql/ 如果嫌烦的话赋予777就可以了 ...

  5. Mysql 两种情况下更新字段中部分数据的方法

    Mysql更新字段中部分数据的两种情况在下文给予详细的解决方法,感兴趣的朋友可以参考下哈 Mysql更新字段中部分数据第一种情况: 代码如下: update tab set A = concat(su ...

  6. mysql 数据库里查询语句中不等于的两种写法

    mysql 数据库里查询语句中不等于的两种写法 ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器 1.my ...

  7. mysql数据库密码转换_MySQL数据库root账户密码忘记两种处理方法转载

    方法1: 1.停止MySQL服务# kill `cat /var/run/mysqld/mysqld.pid` 或者# pkill mysqld 2.创建一个密码赋值语句的文本文件 # vi mysq ...

  8. mysql数据库远程访问权限_MySQL数据库远程访问权限的两种打开办法

    在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上,这时我们需要远程访问数据库.缺省状态下,mysql的用户没有远程访问的权限. 下面介绍两种方法,解决这一问题. 1.改表法 可能是你 ...

  9. mysql 停从库_MySQL_通过两种方式增加从库——不停止mysql服务,一般在线增加从库有两种方式 - phpStudy...

    通过两种方式增加从库--不停止mysql服务 一般在线增加从库有两种方式,一种是通过mysqldump备份主库,恢复到从库,mysqldump是逻辑备份,数据量大时,备份速度会很慢,锁表的时间也会很长 ...

最新文章

  1. SitemapBaiduspider
  2. 查看SSID的mac地址
  3. 全球及中国本质安全校准器行业销售前景与竞争规模预测报告2022-2027年
  4. kafka 集群_单机版kafka集群部署
  5. TypeScript 里 .d.ts 文件的用处
  6. SDKMAN - 一个用于轻松管理多个软件开发工具包的CLI工具
  7. 在ECS系统中使用Entities.ForEach
  8. aptx android8,秒杀苹果无线音频!Android 8.0蓝牙音质支持aptxHD/LDAC
  9. linux 启动rsyslog服务_我的服务器怎么老这么慢,难道说是被挖矿了?linux开机启动项自查...
  10. python编辑图像_在python中创建图像编辑应用程序
  11. 一位工作10年的前端总结的10个忠告
  12. 华为三层交换机-路由-硬件防火墙的配置
  13. http报文格式_(一)深入浅出TCPIP之理解TCP报文格式和交互流程
  14. Github每日精选(第16期):录屏工具ScreenToGif
  15. BeanUtils,PropertyUtils
  16. java网页开发中的乱码问题解决(过滤器)
  17. 英语中名词复数读法(清辅音、浊辅音)
  18. 什么是知识产权贯标?
  19. mes系统和plc通讯案例_MES系统与PLC数据集成主要方式
  20. Visual Studio安装SVN过程及作用

热门文章

  1. 写给初级前端的面试经验
  2. FreeRTOS记录(九、一个裸机工程转FreeRTOS的实例)
  3. 【瑞模网】3dmax如何贴图
  4. 点击文件夹弹出多个窗口问题
  5. rmi 反序列化漏洞_java反序列化漏洞—被低估的破坏之王
  6. Serverless 的喧哗与骚动
  7. 计算机应用基础实践报告范文,计算机应用基础实习报告范文
  8. windows软件安全策略目录及类型
  9. Apache 文件解析漏洞SSRF漏洞原理介绍及代码
  10. 荣耀7刷机android8,荣耀V8升级EMUI5.0+Android7.0