一、使用Maven引入mysql的jdbc驱动依赖:
在pom.xml中添加如下:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.27</version>
</dependency>
<dependency>
注意:其中<version>8.0.27</version>
需要和你连的mysql版本一致!
否则报错:Could not create connection to database server
2021-11-26 08:46:47.198 ERROR 31972 --- [eate-1776794006] com.alibaba.druid.pool.DruidDataSource : create connection SQLException, url: jdbc:mysql://192.168.18.124:3306/mysql?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&rewriteBatchedStatements=TRUE, errorCode 0, state 08001
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_181]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_181]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_181]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_181]
如何查询 mysql
版本?
最简单的就是执行sql语句:select version() from dual;
二、yml中配置 mysql jdbc driver:
先看我的配置:
server:
host: 192.168.xx.xxx
spring:
# 数据源配置
datasource:
url: jdbc:mysql://${server.host}:3306/mysql?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&rewriteBatchedStatements=TRUE
driver-class-name: com.mysql.cj.jdbc.Driver
username: root
password: '123456'
type: com.alibaba.druid.pool.DruidDataSource
# 数据源其他配置
initialSize: 5
minIdle: 5
maxActive: 20
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
filters: stat,wall,logback
maxPoolPreparedStatementPerConnectionSize: 20
useGlobalDataSourceStat: true
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
其中,jdbc:mysql://${server.host}:3306/mysql?useUnicode=true&characterEncoding=utf8&autoReconnect=true&failOverReadOnly=false&rewriteBatchedStatements=TRUE
解释:
mysql
:你要连接的数据库名称
autoReconnect
:当数据库连接异常中断时,是否自动重新连接?
failOverReadOnly
: 自动重连成功后,连接是否设置为只读?
rewriteBatchedStatements
:true:开启jdbc驱动支持批处理,默认为false
其他的:
password: '123456'
:密码值加引号,不要写成 password: 123456
参考文献:
查看mysql的版本号 - _再见理想 - 博客园 (cnblogs.com)
(9条消息) [已解决] Could not create connection to database server._小王的学习blog-CSDN博客
(9条消息) Mysql JDBC Driver参数配置_w345731923的专栏-CSDN博客
mysql配置jdbc - 苗士军 - 博客园 (cnblogs.com)
网友评论