【MySQL】JDBC连接配置

背景

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

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

配置

参数

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

常规配置

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错误的问题 - 阿豪聊干货 - 博客园

猜你喜欢

转载自blog.csdn.net/yxz8102/article/details/109780702