一、使用docker-compose安装seata-server,mysql8引擎,nacos作为注册和配置中心
官方默认的mysql5
的driver替换成了mysql8
的driver,使用了nacos作为seata-server的注册中心和配置中心。下面记录一下我的操作步骤:
1.首先咱们先把seata的项目通过git给下载到本地。seata github地址
2.修改config.txt配置文件
修改config.txt
注意:大多数小伙伴只需要修改以下几个参数,其他参数可暂时不改
#tx_group:自定义名字,很重要,与项目配置文件的tx-service-group一一对应
service.vgroupMapping.tx_group=default
#seata的ip+端口
service.default.grouplist=192.168.2.64:8091
# 修改存储模式为数据库存储
store.mode=db
# 指定数据库为mysql,其他数据库类型根据自身情况修改
store.db.dbType=mysql
# 指定引擎,mysql8以下为com.mysql.jdbc.Driver,mysql8为com.mysql.cj.jdbc.Driver
store.db.driverClassName=com.mysql.cj.jdbc.Driver
store.db.url=jdbc:mysql://{ip}:3306/{db_name}?useUnicode=true
store.db.user={db_user}
store.db.password={db_password}
3.将修改好的config.txt配置添加到nacos配置中心
将config.txt文件放到nacos-config.sh文件所在目录的上一级目录(nacos-config.sh不作任何修改)
sh nacos-config.sh -h {nacos服务的ip} -u {nacos用户名} -w {nacos密码}
4.下载mysql8的引擎
mysql-connector-java-8.0.21.jar
第7步用到
5.编写registry.conf
第7步用到
这个文件的目的就是配置seata-server服务从nacos上读取第3步上传上去的配置,并且把自己注册到nacos的服务列表中去
registry {
# file 、nacos 、eureka、redis、zk、consul、etcd3、sofa
# 指定注册中心为nacos
type = "nacos"
nacos {
serverAddr = "{nacos服务的ip}:{nacos服务的端口}"
namespace = ""
cluster = "default"
username="{username}"
password="{password}"
}
}
config {
# file、nacos 、apollo、zk、consul、etcd3
type = "nacos"
nacos {
serverAddr = "{nacos服务的ip}:{nacos服务的端口}"
namespace = ""
username="{username}"
password="{password}"
}
}
6.准备初始化数据库
创建第三步配置的数据库,执行下列sql
-- the table to store GlobalSession data
drop tab