【总结】mysql 忽然连接不上报CJException: null错误

2023-05-16

目录

  • 问题现象
  • 解决办法
  • 分析原因

问题现象

某天开发人员告诉我,spark大数据任务执行时,docker 环境上的mysql 连接不上了。于是乎,打开spark查看日志,发现如下错误:

22/10/18 13:52:56 WARN DruidDataSource: get connection timeout retry : 1
22/10/18 13:52:58 ERROR DruidDataSource: create connection SQLException, url: jdbc:mysql://10.192.11.13:3345/yundb?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&allowMultiQueries=true&connectTimeout=5000&socketTimeout=5000&autoReconnect=true&maxReconnects=5&failOverReadOnly=false, errorCode 0, state 08001
java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 5 times. Giving up.
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
	at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:906)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:831)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:246)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1513)
	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1578)
	at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2466)
Caused by: com.mysql.cj.exceptions.CJException: null,  message from server: "Host '10.192.11.19' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	……
	at com.mysql.cj.NativeSession.connect(NativeSession.java:157)
	at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:850)
	... 7 more
22/10/18 13:53:02 ERROR DefaultWorkflowEngine: workflow execute error. instance id=7a7699ef-4346-4e5a-a787-221d5629a8ff, current activity=cn.tongdun.yuntu.client.workflow.model.definition.Activity@541bdb14, e=com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 6000, active 0, maxActive 8, creating 1
	at com.alibaba.druid.pool.DruidDataSource.getConnectionInternal(DruidDataSource.java:1508)
	at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1253)
	at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1233)
	at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1223)
	at cn.txxx.yxxxx.hai.storage.db.mysql.ConnectionPool.getConnection(ConnectionPool.scala:49)
	……
	at cn.txxx.yxxxx.suan.handler.main.BatchMain.main(BatchMain.scala)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.spark.deploy.yarn.ApplicationMaster$$anon$2.run(ApplicationMaster.scala:685)
Caused by: java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 5 times. Giving up.
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)

关键错误信息:Caused by: com.mysql.cj.exceptions.CJException: null, message from server: “Host ‘10.192.11.19’ is blocked because of many connection errors; unblock with ‘mysqladmin flush-hosts’”

看到这个,大概猜测原因是该mysql启动时间太长了,有可能存在某些使用不合理,有连接泄漏的现象。
因连接数过多,导致建立新的连接不成功。

解决办法

重启mysql 后,连接长长。

分析原因

查看mysql 上的连接数,有很多很早以前的连接,一直没有释放。
可能是有不合理使用数据库连接的地方。有代码写的不合理,发生连接泄漏。

当然,如果下一次再出现,就可以根据连接信息里的IP和端口,去调查是哪个应用产生的连接泄漏。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【总结】mysql 忽然连接不上报CJException: null错误 的相关文章

随机推荐

  • MFC用户界面多线程实例2

    以下是 MFC 用户界面线程相关知识 由于用户界面线程含有自己的消息循环 xff0c 可以出来 Windows 消息 xff0c 并可创建和管理诸如窗口和控件等用户界面 元素 因此 xff0c 这 种线程较工程线程更为复杂 创建用户界面线程
  • 反汇编定位代码崩溃位置_1

    原帖 xff1a http blog csdn net gwzz1228 article details 9045853 利用map xff0c cod文件定位崩溃代码行 利用vs2010 新建一个空的控制台项目 xff0c 添加文件gtg
  • 反汇编定位代码崩溃位置_3

    原帖 xff1a http blog sina com cn s blog 141f234870102van8 html win7 43 vs2010通过map文件和cod文件找到崩溃的代码行 2015 01 11 11 31 04 转载
  • 反汇编定位代码崩溃位置_4

    原帖 xff1a http blog csdn net xiao article details 23177577 GDB如何从Coredump文件恢复动态库信息 标签 xff1a GDBcoredumpso调试动态库 2014 04 08
  • C链表反转

    节点 struct Note int value Note pNext typedef struct Note PList 生成一个链表 Note GenerateList 输出一个链表 void PrintList Note pHead
  • FtpClient.storeFile返回false解决方法

    今天在利用FTP将客户端文件存储到服务器端时 xff0c 在调用ftpClient storeFile方法后 xff0c 总是返回false xff0c 在百度之后 xff0c 有提到说添加一行 ftpClient enterLocalPa
  • 压缩软件介绍

    压缩软件介绍 一 xff0e 关于WINRAR压缩 ZIP 1 最大优点就是普及率 2 相对RAR格式来说它的压缩速度会要快一些 RAR 1 对比ZIP来说RAR是一次长足的进步 它能够提供更好的压缩比率 2 支持固实压缩模式 对存在很多重
  • ubuntu 使用MobaXterm和cpolar配置外网访问ssh和vnc

    目录 1 首先下载MobaXterm xff1a mobaxterm 2 注册并在ubuntu服务器上安装cpolar xff1a cpolar 安装说明 xff1a 3 保留固定TCP地址 xff08 此步骤可跳过 xff0c 但需要每天
  • copy-webpack-plugin HookWebpackError: Not supported

    前言 运行项目时 xff0c 控制台报错 HookWebpackError Not supported 定位问题发现与 copy webpack plugin 相关 本文主要记录下解决方案 一 控制台报错 二 copy webpack pl
  • 字符串子串的查找

    1 考虑用标准函数库中 strstr 函数 包含文件 xff1a string h 函数名 strstr 函数原型 xff1a extern char strstr char str1 char str2 功能 xff1a 从字符串str1
  • Ubuntu20.04下,搭建hexo个人博客

    一些说明和资源 所使用到的软件版本 xff1a UbuntuNginxGithexo20 04 LTS1 18 02 25 15 4 0 其他说明 xff1a 这里所演示的是在 VirtualBox 中进行的 xff0c 实际工作场景可以是
  • **打开virt-manager报错:** (virt-manager:6079): Gtk-WARNING **: 19:57:38.863: cannot open display:

    打开virt manager报错 virt manager 6079 Gtk WARNING 19 57 38 863 cannot open display 安装 xorg x11 font utils包后可以正常打开 xff1a roo
  • 火影推荐程序连载52-什么是Serilog?

    上文说到Nlog日志框架 xff0c 感觉它功能已经很强大 xff0c 今天给大家介绍一个很不错的日志框架Serilog xff0c 根据我的了解 xff0c 感觉它最大的优势是 xff0c 结构化日志 xff0c 它输出的日志是Json的
  • C语言学习记录——矩阵转换(定义一个数组实现或定义两个数组实现)

    目录 题目要求 代码 xff08 定义两个数组 xff09 运行结果图 xff08 定义两个数组 xff09 代码 xff08 定义一个数组 xff09 运行结果图 xff08 定义一个数组 xff09 简易思路图解 编辑 小结 题目要求
  • 【总结】解决Linux机器重装后-免密登录报错问题

    文章目录 1 背景2 问题现象3 原因分析4 解决方法 1 背景 某天 xff0c 因为安装某个软件 xff0c 开发机器的ssh 免密登录被玩坏了 xff0c 随后所有人都登录不上机器 xff0c 导致系统必须重新安装 2 问题现象 机器
  • 【总结】dubbo 服务注册消费正常,但调用失败

    问题描述 dubbo 服务正常注册和消费 xff0c 但调用dubbo 服务时报错 错误信息如下 xff1a org apache dubbo rpc RpcException Failed to invoke the method che
  • 【总结】使用livy 提交spark任务时报错Connection refused

    问题描述 使用livy 提交spark任务时报错 22 06 27 15 14 50 INFO RetryInvocationHandler Exception while invoking getClusterMetrics of cla
  • 【总结】shell 脚本命令执行结果赋值给变量无效

    背景 想要写一个脚本 xff0c 从某台服务器上抓取某个服务的进程信息 将某个命令执行结果保存到变量中 问题现象 xff1a 使用反引号方式获取不到值 这个问题很怪异 xff0c 我上次按照同样的方式 xff0c 获取别的服务进程信息 xf
  • 【总结】maven 打包刷新下载依赖卡死

    问题现象 idea 打包或者刷新maven依赖 xff0c 总是出现卡死情况 之后就不动了 使用同样maven 命令打包也一样 这个问题以前出现过 xff0c 但后来又几次是关机重启idea xff0c 或者重启电脑 xff0c 或者有时候
  • 【总结】mysql 忽然连接不上报CJException: null错误

    目录 问题现象解决办法分析原因 问题现象 某天开发人员告诉我 xff0c spark大数据任务执行时 xff0c docker 环境上的mysql 连接不上了 于是乎 xff0c 打开spark查看日志 xff0c 发现如下错误 xff1a