1.下载
下载地址:https://github.com/seata/seata/tags
本文选用seata-1.4.2版
2.解压
tar -zxvf seata-server-1.4.2.tar.gz
3. 初始化数据库
登录mysql,然后创建数据库和数据表:
-- -------------------------------- The script used when storeMode is 'db' --------------------------------
-- the table to store GlobalSession data
CREATE DATABASE seata;
use seata;
CREATE TABLE IF NOT EXISTS `global_table`
(
`xid` VARCHAR(128) NOT NULL,
`transaction_id` BIGINT,
`status` TINYINT NOT NULL,
`application_id` VARCHAR(32),
`transaction_service_group` VARCHAR(32),
`transaction_name` VARCHAR(128),
`timeout` INT,
`begin_time` BIGINT,
`application_data` VARCHAR(2000),
`gmt_create` DATETIME,
`gmt_modified` DATETIME,
PRIMARY KEY (`xid`),
KEY `idx_gmt_modified_status` (`gmt_modified`, `status`),
KEY `idx_transaction_id` (`transaction_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8;
-- the table to store BranchSession data
CREATE TABLE IF NOT EXISTS `branch_table`
(
`branch_id` BIGINT NOT NULL,
`xid` VARCHAR(128) NOT NULL,
`transaction_id` BIGINT,
`resource_group_id` VARCHAR(32),
`resource_id` VARCHAR(256),
`branch_type` VARCHAR(8),
`status` TINYINT,
`client_id` VARCHAR(64),
`application_data` VARCHAR(2000),
`gmt_create` DATETIME(6),
`gmt_modified` DATETIME(6),
PRIMARY KEY (`branch_id`),
KEY `idx_xid` (`xid`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8;
-- the table to store lock data
CREATE TABLE IF NOT EXISTS `lock_table`
(
`row_key` VARCHAR(128) NOT NULL,
`xid` VARCHAR(96),
`transaction_id` BIGINT,
`branch_id` BIGINT NOT NULL,
`resource_id` VARCHAR(256),
`table_name` VARCHAR(32),
`pk` VARCHAR(36),
`gmt_create` DATETIME,
`gmt_modified` DATETIME,
PRIMARY KEY (`row_key`),
KEY `idx_branch_id` (`branch_id`)
) ENGINE = InnoDB
DEFAULT CHARSET = utf8;
执行之后的效果:
4.配置注册中心和配置中心
4.1.修改注册中心配置
进入seata/conf目录,打开registry.conf文件,修改注册中心对应的几处属性:
注:namespace可以是空
4.2.修改配置中心配置
同样是registry.conf文件,修改配置中心的几处设置属性:
注:namespace可以是空
5.配置存储方式
进入seata/conf目录,打开file.conf文件,修改以下几处配置:
6.下载注册脚本
配置完之后,需要将seata启动并注册到注册中心,这里需要用到注册脚本。首先下载注册脚本nacos-config.sh。
下载地址:https://github.com/seata/seata/tree/develop/script/config-center/nacos
7.注册seata
执行命令:
sh nacos-config.sh -h 127.0.0.1
其中,-h参数表示注册中心的地址。