错误场景
MySQL 版本:5.7.24
XtraBackup 版本:2.4.8
CentOS 版本:6.5

MySQL需要新增一个从库,为避免XtraBackup备份影响生产,选择在从库上进行备份,备份脚本为:

innobackupex \
--socket=${mysql_socket} \
--user=${mysql_user} \
--password=${mysql_pwd} \
--defaults-file=${mysql_config_file} \
--slave-info \
${backup_dir}

之前一直运行正常的脚本,最近却频繁报错:

failed to execute query SET SESSION lock_wait_timeout=31536000,MySQL server has gone away.

问题原因

MySQL报gone away错误的常见因素

1、MySQL连接超时(受参数wait_timeout和interactive_timeout控制)
2、MySQL连接被KILL
3、MySQL实例重启

排查问题后发现:

1、从库上没有业务操作,不存才超大事务。
2、从库上SQL线程应用主库BINLOG,但主库没有超大事务也没有DDL操作。
3、备份账号有管理员权限,有足够权限执行SET操作。
4、SET操作失败概率最近一段时间较高。
5、MySQL实例正常,连接超时时间配置较长。
6、开启通用日志,捕捉到KILL命令,发现自动KILL的程序有BUG

问题总结

innobackupex备份过程后期,会使用长连接到MySQL执行查询,在两次执行过程中连接处于SLEEP状态,而部署的自动KILL程序为释放连接会自动KILL这些长时间SLEEP的连接,导致备份失败。

最新文章

  1. 批量修改一张表格的多个sheet名
  2. [POJ1328]Radar Installation
  3. MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程
  4. 8种Nosql数据库系统对比
  5. Hadoop yarn配置参数
  6. FJ省队集训DAY3 T2
  7. Python之路第九天,高级(1)-网络编程
  8. 通过数据流处理-微信小程序生成临时二维码
  9. Asp.net Core 使用Jenkins + Dockor 实现持续集成、自动化部署(四):发布与回滚
  10. 如何查看当前应用包名和activity
  11. Dedecms判断当前栏目下是否有子栏目
  12. MongoDB分片集群原理、搭建及测试详解
  13. 通过spark sql 将 hdfs上文件导入到mongodb
  14. 【Unity】打包安卓APK常见问题
  15. 向数据库中添加数据,通过se16 不能添加,通过 代码可以添加的原因
  16. Sqlite 常用函数推荐
  17. ZooKeeper(四)-- 第三方客户端 ZkClient的使用
  18. Jquery动态添加元素并给元素增加onchange相应
  19. MVVM架构说明1
  20. 003---设计首页index页面

热门文章

  1. centos6.10中部署percona-mysql双实例的方法
  2. what's the RTP协议
  3. 【翻译】Flink Table Api & SQL —— 概念与通用API
  4. mybatis自动生成后无法获取主键id问题
  5. C++之future和promise
  6. IEDA中使用阿里插件Alibaba Cloud Toolkit和Arthas(阿尔萨斯)
  7. 【VS开发】 Windows平台下管道的使用
  8. 六、spring之通过FactoryBean为ioc容器中添加组件
  9. 【剑指offer】面试题 6. 从尾到头打印链表
  10. 10 Spring框架--基于注解和xml的配置的应用案例