SQLNonTransientConnectionException
今天执行定时任务批量删除表中数据时,爆出了如下错误:
java.sql.SQLNonTransientConnectionException Create breakpoint : Data source rejected establishment of connection, message from server: ""
通过查阅网上资料,通过如下方式解决
show variables like 'max_connections';
查到的max_connections
的值为151
将max_connections
设置为1000就不报错了
set global max_connections=1000
Mysql闲置连接
查看当前系统连接状态
show full processlist;
显示的信息时来自information_schema.processlist 表
可以看到有大量的Sleep状态的连接
因前端数据输出时(特别是输出到用户终端)未及时关闭数据库连接,导致因网络连接速度产生大量sleep连接,在网速出现异常时,数据库too many connections挂死。
查看用户连接数
select * from performance_schema.users;
mysql中两个参数调整闲置连接关闭时间,减少闲置连接数
interactive_timeout:
参数含义:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为在mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。
参数默认值:28800秒(8小时)文章来源地址https://www.toymoban.com/news/detail-720414.html
wait_timeout
参数含义:服务器关闭非交互连接之前等待活动的秒数。
在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(由mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义)。文章来源:https://www.toymoban.com/news/detail-720414.html
参数默认值:28800秒(8小时)
到了这里,关于java.sql.SQLNonTransientConnectionException的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!