12下一页
发帖
查看: 12845|回复: 10

o2oa连接mysql数据时报com.mysql.cj.jdbc.Driver的问题求解

升级   0.11%

1

主题

3

回帖

11

积分

注册会员

Rank: 2

积分
11
发表于 2020-3-13 15:39:29 | 显示全部楼层 |阅读模式
一、出现的问题
2020-03-13 15:32:57.624 PRINT [main] com.x.program.center.Context - com.x.base.core.project.x_program_center loading datas, entity size:22.
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
三月 13, 2020 3:33:06 下午 com.alibaba.druid.pool.DruidDataSource error
严重: init datasource error, url: jdbc:mysql://127.0.0.1:3306/X01
java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
    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.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
    at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455)
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
。。。。
二、过程说明:
1.安装介质:JDK1.8  mysql8.0的版本
2.externalDataSources.json的配置说明为
[
  {
     "enable" : true,
     "url" : "jdbc:mysql://127.0.0.1:3306/X01",
     "username" : "root",
     "password" : "root",
     "includes" : [],
     "excludes" : []
  }
]
三,需求解内容
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
三月 13, 2020 3:33:06 下午 com.alibaba.druid.pool.DruidDataSource error
严重: init datasource error, url: jdbc:mysql://127.0.0.1:3306/X01'
如何调整到正确?
谢谢!
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2020-3-19 21:55:50 | 显示全部楼层
其实,您说的这些都是mysql版本的导致的,这里为了兼容相对较多的版本,所以有些设置是如此的!
建议您参考一下:
https://www.cnblogs.com/liaojie970/p/8916568.html
不过,小小管理员也会和技术部门反应,是否区分多个mysql版本!
回复

使用道具 举报

升级   0.16%

2

主题

4

回帖

16

积分

注册会员

Rank: 2

积分
16
发表于 2020-4-11 14:10:04 | 显示全部楼层
在externalDataSources.json的配置中增加"driverClassName": "com.mysql.cj.jdbc.Driver",参数配置后还需其他地方放连接文件吗
回复

使用道具 举报

升级   0.11%

1

主题

3

回帖

11

积分

注册会员

Rank: 2

积分
11
发表于 2020-3-15 16:57:24 | 显示全部楼层
1.数据库和应用是部署在同一台机器上,意思是要分成二台机器来实现方可?
2.“ 能把你的参考配置资料发个连接么? “这个上面的现象表述应该清楚了吧,差一个node_127.0.0.1.json的配置为:
"data": {
    "enable": false,
    "tcpPort": 20050.0,
    "webPort": 20051.0,
    "includes": [],
    "excludes": [],
    "jmxEnable": false,
    "cacheSize": 512.0,
    "logLevel": "WARN",
    "maxTotal": 50.0,
    "maxIdle": 0.0,
    "statEnable": true,
    "statFilter": "mergeStat",
    "slowSqlMillis": 2000.0,
    "###enable": "是否启用,如果没有可用的externalDataSources.json文件,那么默认会在节点中启用本地的H2数据库作为默认的数据库.###",
    "###tcpPort": "H2数据库jdbc连接端口,登录的用户名:sa,密码为xadmin的密码.数据库创建在/o2server/local/repository/data/X.mv.db,一旦数据库文件被创建,那么该数据库的密码被创建.###",
    "###webPort": "H2数据库web端口,H2提供一个web端的client,此端口为web端client的访问端口.用户名sa,密码为xadmin数据库初始创建的密码.###",
    "###includes": "设置此数据库存储的类,默认情况下存储所有类型,如果需要对每个类进行单独的控制以达到高性能,可以将不同的类存储到不同的节点上提高性能.可以使用通配符*###",
    "###excludes": "在此节点上不存储的类,和includes一起设置实际存储的类,可以使用通配符*###",
    "###jmxEnable": "是否启动jmx,如果启用,可以通过本地的jmx客户端进行访问,不支持远程jmx客户端.###",
    "###cacheSize": "H2数据库缓存大小,设置H2用于作为缓存的内存大小,以M作为单位,这里默认为512M.###",
    "###logLevel": "默认日志级别###",
    "###maxTotal": "最大使用连接数###",
    "###maxIdle": "最大空闲连接数###",
    "###statEnable": "启用统计,默认启用###",
    "###statFilter": "统计方式配置,默认mergeStat###",
    "###slowSqlMillis": "执行缓慢sql毫秒数,默认2000毫秒,执行缓慢的sql将被单独记录.###"
  },
是否提供一个详细的配置文档?这样大家学习效率会高很多,谢谢!
回复

使用道具 举报

升级   0.11%

1

主题

3

回帖

11

积分

注册会员

Rank: 2

积分
11
发表于 2020-3-17 11:14:44 | 显示全部楼层
2.node_127.0.0.1.json 可以直接从 configSample 复制 ,基本上configSample 都有默认的配置文件!
----是从configSample 中复制过来的。
当前急需解决是连接失败的要如何解决?因这些都是基础配置,感觉搞得有点麻烦。现在externalDataSources.json文件调整的配置为:
[
    {
        "url":"jdbc:mysql://127.0.0.1:3306/X01?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8",      
        "username" : "root",
        "password" :"root",
        "includes": [],
        "excludes": [],
        "enable" : true
    }
]
--出现的报错为(注:数据库X01已创建好):
2020-03-17 11:06:30.199 PRINT [main] com.x.program.center.Context - com.x.base.core.project.x_program_center loading datas, entity size:22.
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
三月 17, 2020 11:06:52 上午 com.alibaba.druid.pool.DruidDataSource error
严重: init datasource error, url: jdbc:mysql://127.0.0.1:3306/X01?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 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:905)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:830)
--应该是mysql驱动的适配问题,烦多支持,信心有点不足了!
回复

使用道具 举报

升级   1.93%

27

主题

47

回帖

193

积分

注册会员

Rank: 2

积分
193
发表于 2020-4-13 10:07:07 | 显示全部楼层
我测试,无需进行另外其他操作,就可以正常
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2020-3-17 11:27:45 | 显示全部楼层
您好:
数据库驱动JAR包的更新或新增k可以参考!https://www.yuque.com/o2oa/course/xuwlyp
建议您还是检查一些你的配置,是否有错误,修复修改不小心改成了非json格式

回复

使用道具 举报

升级   1.93%

27

主题

47

回帖

193

积分

注册会员

Rank: 2

积分
193
发表于 2020-3-16 08:20:36 | 显示全部楼层
Andy咱们两个遇到的问题是一样的拉http://www.o2oa.net/x_desktop/forum.html?app=ForumDocument&id=104bc2e5-5e06-4598-8792-a32d848595a7,你的解决了么?
回复

使用道具 举报

升级   1.93%

27

主题

47

回帖

193

积分

注册会员

Rank: 2

积分
193
发表于 2020-3-14 15:49:37 | 显示全部楼层
你是mysql和其他服务不同服务器么?我的是分离的,按着官方的教程做的,服务器就无法启动了,能把你的参考配置资料发个连接么?
回复

使用道具 举报

升级   0.11%

1

主题

3

回帖

11

积分

注册会员

Rank: 2

积分
11
发表于 2020-3-19 11:29:06 | 显示全部楼层
终于解决,处理过程如下:
1.报错日志:Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.的问题,
处理:只需在externalDataSources.json的配置中增加"driverClassName": "com.mysql.cj.jdbc.Driver",参数配置说明即可。前置条件是MYSQL数据库一定要8以上版本方可。
2.报错日志:严重: init datasource error, url: jdbc:mysql://127.0.0.1:3306/X01?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8
java.sql.SQLNonTransientConnectionException: Could not create connection to database server.
处理:按configSample\externalDataSources_mysql.json文件中autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8这个参数来即可用,任少一个配置参数就报错。

综述:配置的文档说明严重不足,浪费不少时间,也浪费线上技术支持的时间。
建议:如果定义为开放式的应用,目标在客户支付一定成本(授权费)来快速解决问题,但在体验过程中出现的问题解决代价太高,强烈建议完善基础配置类的文档。
不足多多指出,谢谢!
回复

使用道具 举报

12下一页
发帖

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread