Seata2.0使用Mysql8报错

Seata2.0使用Mysql8报错 文章目录 修改前的配置application.ymlseata.yml 修改后的配置application.ymlseata.yml 修改前的报错:1、启动Seata服务,报

文章目录

更改application.ymlseata.yml之前的设置

修改配置application.ymlseata.yml

更改前的错误: 1、启动Seata服务,报SSL验证失败。 2、启动Seata服务,报未知系统变量\’query_cache_size\’。

mysql连接属性参考nacos配置中心自建Seata配置概述。

文章目录

更改application.ymlseata.yml之前的设置

修改配置application.ymlseata.yml

更改前的错误: 1、启动Seata服务,报SSL验证失败。 2、启动Seata服务,报未知系统变量\’query_cache_size\’。

mysql连接属性参考nacos配置中心自建Seata配置概述。

笔记:

仅列出使用的nacos 和mysql 设置;其他均为默认设置。

下载的版本没有nacos和mysql设置。如有必要,复制并修改与application.yml 位于同一目录中的application.example.yml 文件。

修改前的配置

application.yml

文件位置:seata-server-2.0.0/conf/application.yml

西塔:

#配置中心

配置:

#设置中心类型。默认为文件

类型: Nacos

#nacos配置中心配置信息

纳科斯:

#nacos服务地址

服务器地址: 127.0.0.1:8848

#命名空间,默认为空且公共

命名空间:

#group,默认为DEFAULT_GROUP

group: SEAT_GROUP

上下文路径:

#指定配置中心的sheet配置

数据-id:seata.yaml

#报名中心

登记处:

#招生中心类型,默认为file

类型: Nacos

#nacos注册中心配置信息

纳科斯:

#指定在nacos注册中心注册的服务名

application: 表服务器

#nacos服务地址

服务器地址: 127.0.0.1:8848

#group,默认为DEFAULT_GROUP

group: SEAT_GROUP

#命名空间,默认为空且公共

命名空间:

#指定在nacos注册中心注册的集群名称

集群: 的默认值

上下文路径:

# #如果使用MSE Nacos 进行身份验证,则具有用户名/密码属性的互斥体

# 访问密钥:

# 私钥:

店铺:

#seata 指定保存设置的位置、默认文件和缓存

模式:db

#数据库连接信息

db:

数据源: 德鲁伊

#数据库类型

db-type: mysql

#数据库驱动

驱动程序类名: com.mysql.jdbc.Driver

#数据库连接

url: jdbc:mysql://localhost:3306/seata?useUnicode=true

#数据库用户名

用户:mysql

#数据库密码

密码: mysql

#最小连接数

分钟-conn: 10

#最大连接数

最大-conn: 100

#指定seata数据库的全局事务信息表。自动生成。默认就足够了

全局表: 全局表

#指定默认自动生成的seata数据库中的分支信息(交易参与者信息)表。

早午餐桌: 早午餐桌

#指定自动生成的seata数据库全局锁表。默认就足够了

锁表: lock_table

#指定自动生成的seata数据库分布式锁表。默认就足够了

分布式锁表: 分布式锁

#最长等待时间

最大等待: 5000

#服务器:

# service-port: 8091 #如果不设置,默认为“${server.port} + 1000”

seata.yml

文件位置:nacos访问页面配置中心/seata.yml

#对交易进行分组

# 主要用于解决远程机房停电容错,允许事务组快速切换。

#default_tx_group:配置交易的组名称。可定制。

#default:必须等于application.yml 中的Seata.registry.nacos.cluster=default

服务:

vgroupMapping:

default_tx_group: 默认值

店铺:

模式:db

锁:

模式:db

会话:

模式:db

#数据库连接

db:

数据源: 德鲁伊

dbType: mysql

driverClassName: com.mysql.jdbc.Driver

url: jdbc:mysql://localhost:3306/seata?useUnicode=truerewriteBatchedStatements=true

用户:mysql

密码: mysql

minConn: 5

麦克康: 30

globalTable: 全局表

早午餐桌: brunch_table

分布式锁表: 分布式锁

查询限制: 100

lockTable: 锁表

最大等待: 5000

修改后的配置

application.yml

文件位置:seata-server-2.0.0/conf/application.yml

西塔:

#配置中心

配置:

#设置中心类型。默认为文件

类型: Nacos

#nacos配置中心配置信息

纳科斯:

#nacos服务地址

服务器地址: 127.0.0.1:8848

#命名空间,默认为空且公共

命名空间:

#group,默认为DEFAULT_GROUP

group: SEAT_GROUP

上下文路径:

#指定配置中心的sheet配置

数据-id:seata.yaml

#报名中心

登记处:

#招生中心类型,默认为file

类型: Nacos

#nacos注册中心配置信息

纳科斯:

#指定在nacos注册中心注册的服务名

application: 表服务器

#nacos服务地址

服务器地址: 127.0.0.1:8848

#group,默认为DEFAULT_GROUP

group: SEAT_GROUP

#命名空间,默认为空且公共

命名空间:

#指定在nacos注册中心注册的集群名称

集群: 的默认值

上下文路径:

# #如果使用MSE Nacos 进行身份验证,则具有用户名/密码属性的互斥体

# 访问密钥:

# 私钥:

店铺:

#seata 指定保存设置的位置、默认文件和缓存

模式:db

#数据库连接信息

db:

#信息来源

数据源: 德鲁伊

#数据库类型

db-type: mysql

#数据库驱动

#mysql5.x: driverClassName: com.mysql.jdbc.Driver

driverClassName: com.mysql.cj.jdbc.Driver

#数据库连接

#mysql5.x

#url: jdbc:mysql://localhost:3306/seata?useUnicode=true

#mysql8.x

url: jdbc:mysql://localhost:3306/seata?useSSL=falseuseUnicode=truecharacterEncoding=utf8serverTimezone=GMT%2B8allowPublicKeyRetrieval=truerewriteBatchedStatements=true

#数据库用户名

用户:mysql

#数据库密码

密码: mysql

#最小连接数

分钟-conn: 10

#最大连接数

最大-conn: 100

#指定seata数据库的全局事务信息表。自动生成。默认就足够了

全局表: 全局表

#指定默认自动生成的seata数据库中的分支信息(交易参与者信息)表。

早午餐桌: 早午餐桌

#指定自动生成的seata数据库全局锁表。默认就足够了

锁表: lock_table

#指定自动生成的seata数据库分布式锁表。默认就足够了

分布式锁表: 分布式锁

#最长等待时间

最大等待: 5000

#服务器:

# service-port: 8091 #如果不设置,默认为“${server.port} + 1000”

seata.yml

文件位置:nacos访问页面配置中心/seata.yml

#对交易进行分组

# 主要用于解决远程机房停电容错,允许事务组快速切换。

#default_tx_group:配置交易的组名称。可定制。

#default:必须等于application.yml 中的Seata.registry.nacos.cluster=default

服务:

vgroupMapping:

default_tx_group: 默认值

店铺:

模式:db

锁:

模式:db

会话:

模式:db

#数据库连接

db:

数据源: 德鲁伊

dbType: mysql

#mysql5.x: driverClassName: com.mysql.jdbc.Driver

driverClassName: com.mysql.cj.jdbc.Driver

#mysql5.x

#url: jdbc:mysql://localhost:3306/seata?useUnicode=truerewriteBatchedStatements=true

#mysql8.x

url: jdbc:mysql://localhost:3306/seata?useSSL=falseuseUnicode=truecharacterEncoding=utf8serverTimezone=GMT%2B8allowPublicKeyRetrieval=truerewriteBatchedStatements=true

用户:mysql

密码: mysql

minConn: 5

麦克康: 30

globalTable: 全局表

早午餐桌: brunch_table

lockTable: 锁表

分布式锁表: 分布式锁

#查询商品数量

查询限制: 100

#最长等待时间

最大等待: 5000

修改前的报错:

1、启动Seata服务,报ssl验证失败

原因:mysql8需要关闭验证

解决办法:在mysql连接后添加useSSL=false。例子:

url: jdbc:mysql: //localhost:3306/seata?useSSL=false

注意: | Connections 不能用于在Seata 中配置mysql 连接,但可以在业务服务中使用。

2、启动Seata服务,报Unknown system variable ‘query_cache_size’

原因:mysql8没有这个配置。该驱动程序使用com.mysql.jdbc.Driver 驱动程序。位于Seata-server-2.0.0\\lib\\jdbc 中的驱动程序必须与以前的版本兼容。

mysql-connector-java-5.1.42.jar

mysql-connector-java-8.0.27.jar

解决了:

将驱动程序从com.mysql.jdbc.Driver 更改为com.mysql.cj.jdbc.Driver。

mysql连接属性参考

弹簧:

数据来源:

type: com.alibaba.druid.pool.DruidDataSource

驱动程序类名: com.mysql.cj.jdbc.Driver

网址: |

#MySQL数据库链接

jdbc:mysql://localhost:3306/测试?

#关闭安全验证。必须从5.7版本开始添加。在以前的版本中,默认值为false。

使用SSL=假

#指定要处理的字符解码的格式

使用Unicode=true

#指定要处理的字符代码的格式

字符编码=utf8

#指定时区

服务器时区=GMT%2B8

#允许客户端从服务器检索公钥。这个稍后会被添加到mysql8中以防止错误。

允许PublicKeyRetrieval=true

#mybatis启用多行SQL执行

允许多查询=true

#打开批量设置,启用插入/更新/删除,默认为false

rewriteBatchedStatements=true

#Java 将零值日期转换为NULL 值

ZeroDateTimeBehavior=convertToNull

用户名: mysql

密码: mysql

最大池大小: 5

nacos配置中心自建seata配置

访问nacos配置页面:http://localhost:8848/nacos/

新配置:

命名空间:公共

数据ID:seata.yaml

组:SEATA_GROUP

设置格式:yaml

注:nacos配置中心也可以默认创建属性文件。对于属性文件,Seata 配置不需要带后缀的文件扩展名。如果您使用不同的类型,则无需添加任何文件。只需在application.yml 中使用Seata.config.nacos.data-id=seata.yaml 指定nacos 配置中心配置的文件名即可。

总结

我当时还是有点不好意思,就想着可以用默认的mysql8设置,所以一开始就用了默认设置。我被告知Seata 报告的错误可能是由于缺少驱动程序造成的。换个驱动就好了配置方面的注释不用我写太多,我看不懂的东西很多,但是很多都非常清楚了。 ()

以上关于Seata2.0使用#Mysql8报错的相关内容由网络提供,仅供参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91740.html

(0)
CSDN's avatarCSDN
上一篇 2024年6月23日 下午12:43
下一篇 2024年6月23日 下午12:43

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注