seata启动报错Could not create connection to database server

seata启动报错Could not create connection to database server

环境:
win10,seata-server1.3.0,数据库mysql8.0.26

报错信息:

seata启动报错com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server
在这里插入图片描述
由于使用的是mysql8+,出现连接不上的情况,首先就想到了驱动版本的问题。主要问题有以下几点:

  • 驱动包问题
    查看seata\lib\jdbc下的jar,发现没有我安装的数据库版本,开始以为是这个版本问题。从mysql官网下载对应的版本。启动seata server依然报错。说明不是这个问题,后面我将低版本的jar按照正确的方式启动,发现可以启动成功。jar包的主要问题是存放位置的问题,最后一步解决
  • 高版本驱动类名称问题
    mysql高版本的driverClassName的值由com.mysql.jdbc.Driver变为com.mysql.cj.jdbc.Driver
## 该配置为seata\conf\file.conf文件中
driverClassName = "com.mysql.cj.jdbc.Driver"
  • url时区问题
    连接的url后面参数也有问题,seata的初始值是没有时区编码这些参数的,高版本的mysql要求必须带这些参数。
## 该配置为seata\conf\file.conf文件中
url = "jdbc:mysql://106.52.224.231:3306/seata?useUnicode=true&rewriteBatchedStatements=true&serverTimezone=GMT"
  • 驱动包位置问题
    下载对应我数据库版本的jar后放在seata\lib\jdbc下,启动seata server依然报错。后面将jar直接放到lib目录下启动居然成功了。我是觉得按常理jar应该都在一起-_-~,而且我使用了我自己下载的和seata解压后就带的jar,都可以启动成功。
    在这里插入图片描述
    file.conf文件中的配置如下:
    在这里插入图片描述
    成功启动
    在这里插入图片描述
    查看nacos中的服务
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45340300/article/details/128602694