Seata 2.6.0 安装教程(MySQL 8.4.0 + Nacos 3.0.3)
在本地已有的 MySQL 8.4.0 和 Nacos 3.0.3 基础上,从零装好 Seata Server 2.6.0:注册中心、配置中心都用 Nacos,全局事务状态存 MySQL。
环境前提(本机已具备)
- JDK 21(本机 temurin-21,Seata 2.6 支持 JDK 8/11/17/21);
- MySQL 8.4.0 运行在 127.0.0.1:3306(本机 root 无密码);
- Nacos 3.0.3 运行在 127.0.0.1:8848(API 主端口),Web 控制台端口本机已调整为 8847(若没改过则是 8080);
- Seata Server 默认监听 8091,安装前确认该端口空闲。
Step 1 · 下载安装包
从 Apache 官方归档站下载(历史版本归档,最稳定可靠):
1 | cd ~/tools/seata |
Step 2 · 修改配置文件 conf/application.yml
编辑 conf/application.yml,把 registry 和 config 的类型都设为 nacos:
1 | seata: |
重点:
registry解决怎么找到 seata-server,config解决 Seata 的配置从哪读,两者都指向 Nacos。store.mode: db只是声明存储类型,数据库连接参数不写在这里——config.type=nacos后,store 的详细配置统一放 Nacos 的seataServer.properties(见 Step 4),写回 application.yml 不会生效。
Step 3 · 下载 MySQL 驱动
Server 的 lib/ 里没有 MySQL 驱动(官方归档不打包),手动放一个(当前在 apache-seata-2.6.0-incubating-bin/seata-server/ 目录下执行):
1 | curl -L -o lib/mysql-connector-j-8.4.0.jar https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.4.0/mysql-connector-j-8.4.0.jar |
Step 4 · 在 Nacos 创建 seataServer.properties
登录 Nacos 控制台(本机 http://127.0.0.1:8847/nacos;若未调整过控制台端口则为 http://127.0.0.1:8080/nacos),进入配置管理 → 配置列表,确认分组为 DEFAULT_GROUP,新建配置:
- Data ID:
seataServer.properties(必须与 Step 2 的 data-id 一致); - Group:
DEFAULT_GROUP(必须与 Step 2 的 group 一致); - 配置格式:
Properties; - 内容:替换为你的实际数据库地址、端口、库名、用户名和密码。
1 | store.mode=db |
Step 5 · 初始化数据库
在 MySQL 里创建 seata 库(与 store.db.url 中的库名一致),然后执行官方建表脚本。脚本在安装包内:script/server/db/。2.6.0 只有 mysql.sql(没有 mysql8.sql),直接用它,脚本会一次创建全部表:
1 | mysql -u root -e "CREATE DATABASE IF NOT EXISTS seata DEFAULT CHARACTER SET utf8mb4;" |
验证:
1 | mysql -u root -e "SHOW TABLES FROM seata;" |
应看到 5 张表:global_table、branch_table、lock_table、distributed_lock、vgroup_table(2.6.0 新增)。
Step 6 · 启动 Seata Server
进入 apache-seata-2.6.0-incubating-bin/seata-server/,推荐用后台方式启动(支持 start / stop / restart):
1 | ./bin/seata-server.sh start |
调试时也可以用前台方式(日志直接打在终端,Ctrl+C 退出):
1 | sh ./seata-server.sh |
日志默认写到 ~/logs/seata/(seata-server.8091.all.log 等)。
Step 7 · 验证部署
- 端口:
lsof -nP -iTCP:8091 -sTCP:LISTEN应看到 java 进程监听; - 日志:
tail -20 ~/logs/seata/seata-server.8091.all.log,看到Server started, service listen port: 8091即成功; - Nacos:控制台(8847)→ 服务管理 → 服务列表,分组切到 DEFAULT_GROUP,能看到
seata-server实例(IP 为本机局域网 IP,端口 8091)。


