如何在MySQL数据库文件中成功安装Seata 1.4.2与Nacos 1.4.2?

avatar
作者
筋斗云
阅读量:0
 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;

如何在MySQL数据库文件中成功安装Seata 1.4.2与Nacos 1.4.2?

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 进行分布式事务管理。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!