MySQL 通过数据库文件安装 Seata 1.4.2 和 Nacos 1.4.2 简介 Seata 是一款开源的分布式事务解决方案,它支持分布式系统中的事务管理,Nacos 是一个注册中心和服务配置中心,它可以帮助我们管理服务和服务配置,以下是通过数据库文件安装 Seata 1.4.2 和 Nacos 1.4.2 的详细步骤。 环境准备 Java SDK:确保你的环境中安装了 Java SDK,版本至少为 1.8。 MySQL:确保你的环境中安装了 MySQL,版本至少为 5.7。 Maven:用于构建和安装依赖。 安装步骤 1. 下载依赖 你需要下载 Seata 和 Nacos 的安装包。 Seata 1.4.2 安装包:[Seata 1.4.2](https://github.com/seata/seata/releases/download/v1.4.2/seataserver1.4.2.tar.gz) Nacos 1.4.2 安装包:[Nacos 1.4.2](https://github.com/alibaba/nacos/releases/download/1.4.2/nacosserver1.4.2.tar.gz) 2. 解压安装包 将下载的安装包解压到你的服务器上。
tar zxvf seataserver1.4.2.tar.gz
tar zxvf nacosserver1.4.2.tar.gz
3. 配置 MySQL 配置 MySQL 数据库用于存储 Seata 的状态信息。
CREATE DATABASE seata;

USE seata;
CREATE TABLEglobal_lock (
lock_key char(36) NOT NULL,
lock_value varchar(100) DEFAULT NULL,
lock_timestamp bigint(13) NOT NULL DEFAULT '0',
lock_update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (lock_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLEbranch_table (
xid char(36) NOT NULL,
branch_id bigint(20) NOT NULL,
resource_id varchar(256) NOT NULL,
lock_key char(36) NOT NULL,
branch_type tinyint(1) NOT NULL,
status tinyint(1) NOT NULL,
client_id varchar(256) DEFAULT NULL,
application_data varchar(1024) DEFAULT NULL,
transaction_id bigint(20) DEFAULT NULL,
resource_group_id varchar(128) DEFAULT NULL,
lock_flag tinyint(1) DEFAULT NULL,
branch_type_id varchar(256) DEFAULT NULL,
PRIMARY KEY (xid,branch_id),
KEYidx_branch_status_lock_flag (status,lock_flag)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLElock_table (
lock_key char(36) NOT NULL,
table_name varchar(128) NOT NULL,
application_data varchar(1024) DEFAULT NULL,
lock_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
lock_host varchar(100) DEFAULT NULL,
PRIMARY KEY (lock_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLEglobal_table (
xid char(36) NOT NULL,
transaction_id bigint(20) NOT NULL,
status tinyint(1) NOT NULL,
application_id varchar(32) DEFAULT NULL,
application_data varchar(2000) DEFAULT NULL,
lock_flag tinyint(1) DEFAULT NULL,
branch_id bigint(20) DEFAULT NULL,
resource_group_id varchar(32) DEFAULT NULL,
create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
update_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
transaction_service_group varchar(32) DEFAULT NULL,
timeout int(11) DEFAULT NULL,
begin_time bigint(20) DEFAULT NULL,
apply_time bigint(20) DEFAULT NULL,
last_time bigint(20) DEFAULT NULL,
@end_time bigint(20) DEFAULT NULL,
rollback_info longtext,
geo_location varchar(256) DEFAULT NULL,
PRIMARY KEY (xid),
KEYidx_transaction_id (transaction_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
CREATE TABLEundo_log (
id bigint(20) NOT NULL AUTO_INCREMENT,
branch_id bigint(20) NOT NULL,
xid char(36) NOT NULL,
context longtext NOT NULL,
rollback_info longtext NOT NULL,
log_status int(11) NOT NULL,
log_created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
log_modified timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id),
UNIQUE KEYux_undo_log (xid,branch_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
4. 配置 Seata
编辑seataserver1.4.2/conf/file.conf 文件,配置 MySQL 数据库连接信息。
store.mode = db
store.db.type = mysql
store.db.url = jdbc:mysql://localhost:3306/seata?useUnicode=true&useSSL=false&characterEncoding=utf8
store.db.user = root
store.db.password = root
5. 配置 Nacos
编辑nacosserver1.4.2/conf/application.properties 文件,配置 Nacos 服务器。
spring.datasource.platform=mysql
mysql.service.name=nacos
mysql.db.host=127.0.0.1
mysql.db.port=3306
mysql.db.user=root
mysql.db.password=root
mysql.db.dbname=nacos
6. 启动服务 启动 Nacos 服务器:
cd nacosserver1.4.2/bin
sh startup.sh m standalone
启动 Seata 服务:
cd seataserver1.4.2/bin
sh seataserver.sh h 127.0.0.1 p 8091
通过以上步骤,你已经在 MySQL 上成功安装并配置了 Seata 和 Nacos,你可以根据你的业务需求,配置你的应用程序以使用 Seata 进行分布式事务管理。