【MySQL】JDBC连接配置

背景

前一段时间总能遇到数据库连接超时的问题,把druid连接池配置改了又改,还是会出现。就又开始改jdbcUrl的配置,当然了,依然没用。最后DBA改了数据库配置(max_allowed_packet),据说有用。但是,生产环境表现良好,预发环境还是不怎么样......

说回来jdbcUrl的配置,平时各个工程拷来拷去的,也没专门看过,在此记录一下。

配置

参数

参数说明默认值常用值
autoReconnect自动连接falsetrue
autoReconnectForPools自动连接连接池falsetrue
characterEncoding当useUnicode=true时,指定字符集 UTF-8
allowMultiQueries在一条语句中,允许使用“;”来分隔多条查询falsetrue
failOverReadOnly在autoReconnect模式下出现故障切换时,是否应将连接设置为“只读”truefalse
useSSL与服务器进行通信时使用SSLtruefalse
useUnicode是否使用Unicodefalsetrue
socketTimeout数据库无返回时,应用等待时间(ms)。要大于等于数据库配置的Socket TimeOut的值060000

常规配置

jdbc:mysql://host:port/databaseName?useSSL=false&autoReconnect=true&autoReconnectForPools=true&allowMultiQueries=true&useUnicode=true&characterEncoding=utf8

参考

mysql JDBC URL参数解析

聊聊jdbc socketTimeout的设置

MySQL JDBC URL中几个重要参数说明

深入理解JDBC的超时设置

数据库超时和socket超时问题

关于MySQL的wait_timeout连接超时问题报错解决方案

mysql经典的8小时问题-wait_timeout

mysql重连,连接丢失:The last packet successfully received from the server

java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents more

JDBC中The server time zone value '???ú±ê×??±??' is ............. 的错误

【Tomcat】tomcat报连接超时错误

jdbc链接MySQL这句语句是什么意思,我东拼西凑的,不明白这个语句各部分什么意思? - 知乎

解决Java程序连接mysql数据库出现CommunicationsException: Communications link failure错误的问题 - 阿豪聊干货 - 博客园

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值