## seata-server启动(可选) 使用了seata1.2.0后,本项目的4种模式中,所有模式均已经完美支持分布式事务,感谢官方修复SCHEMA模式的bug。 DATASOURCE模式不开源,收费情况请阅读: [如何收费](关于收费版.md) ### 官方文档: [https://seata.io/](https://seata.io/) ### 官方下载: https://github.com/seata/seata/releases 1. 下载 1.2.0 版本, 解压 2. 或者去群文件下载 seata120.zip 解压(群文件里面的配置已经调整过了) 3. 删除 conf/registry.conf 文件 4. 使用项目中 third-party/seata/conf/registry.conf 替换 刚刚删除的 conf/registry.conf 。registry.conf 代码如下所示 ~~~ registry { type = "nacos" nacos { application = "seata-server" serverAddr = "localhost:8848" namespace = "3cca7d98-3b1c-44d3-90e5-86abaaf0048a" cluster = "default" username = "nacos" password = "nacos" } } config { type = "nacos" nacos { serverAddr = "localhost:8848" namespace = "3cca7d98-3b1c-44d3-90e5-86abaaf0048a" group = "SEATA_GROUP" username = "nacos" password = "nacos" } } ~~~ 5. 创建库 ``` CREATE DATABASE `zuihou_seata` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` 6. 向zuihou_seata库 导入压缩包里面 `script/server/db/mysql.sql` ([https://github.com/seata/seata/blob/develop/script/server/db/mysql.sql](https://github.com/seata/seata/blob/develop/script/server/db/mysql.sql)) 7. 将 [https://github.com/seata/seata/blob/develop/script/config-center](https://github.com/seata/seata/blob/develop/script/config-center) 里面的配置文件: `config.txt` 和 `nacos/nacos-config.sh` 2个文件下载下来,按照官方的目录结构存放,并修改config.txt。 我这里只列出了,修改过的值: ~~~ service.vgroup_mapping.zuihou_admin_seata_tx_group=default store.mode=db store.db.driver-class-name=com.mysql.jdbc.Driver # 数据库连接信息需要自行修改一下 store.db.url=jdbc:mysql://127.0.0.1:3306/zuihou_seata?useUnicode=true store.db.user=root store.db.password=root ~~~ 无法访问github的朋友可以直接使用本项目代码中:`third-party/seata/script/` 下的配置文件(注意,项目中的配置文件,已被我修改成适合本项目的配置,你只需要改config.txt中的数据库信息即可) 8. 新建命名空间:`3cca7d98-3b1c-44d3-90e5-86abaaf0048a` ![](https://img.kancloud.cn/81/24/81241f6793907eb5c86c31bad6d5e8ad_3798x1434.png) 图片中的命名空间名和描述字段不重要,重要的是`命名空间ID`一定要跟我的一致! 9. linux或者mac系统,运行下面命令将修改后的 `config.txt` 文件导入 nacos 中 ~~~ sh script/config-center/nacos/nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -t 3cca7d98-3b1c-44d3-90e5-86abaaf0048a # 注意 nacos-config.sh 脚本的路径 ~~~ 10. window系统可以忽略第7、9步,直接向naocs导入项目中 `third-party/seata/nacos_config_export_*.zip` ![](https://img.kancloud.cn/b3/a0/b3a0af5cbbd5c01fa8b9835c98683869_3278x1646.png) 注意:直接向naocs导入项目中 `third-party/seata/nacos_config_export_*.zip` 后,需要在`Data ID`输入以下参数, 点击查询后,点编辑,然后修改里面的配置: ``` #搜索 store.db.* , 将数据库信息修改成自己的 store.db.url=jdbc:mysql://127.0.0.1:3306/zuihou_seata?useUnicode=true store.db.user=root store.db.password=root ``` 11. 导入成功后,确定下命名空间: `3cca7d98-3b1c-44d3-90e5-86abaaf0048a` 下是否有68个配置 12. 启动seata-server: ~~~ sh bin/seata-server.sh -p 8091 -h 192.168.1.34 -m db -n 1 参数解释: -p 指定端口 -h 指定ip, 需要修改成`自己的ip ,切记,不能使用127.0.0.1 和localhost !!! -m db 存储到数据库 -m file 存储到文件 window: 双击或者cmd下面执行: bin/seata-server.bat -p 8091 -h 192.168.1.34 -m db -n 1 ~~~ 13. 验证是否启动成功:打开nacos, 【服务列表】 ->【3cca7d98-3b1c-44d3-90e5-86abaaf0048a】 -> 有一个服务名为 `serverAddr` 的服务 即表示成功 (截图在zuihou下面是应该我配置的namespace是zuihou的,配置成"" 就应该在Public下面) ![](https://img.kancloud.cn/b6/e6/b6e678a73c05fcaa1c15162e2043588e_3358x1854.png) 若还是存在问题,请移步:`开始开发/分布式事务` 查看详细分析 * [开始开发](开始开发.md) * [分布式事务](分布式事务.md)