# seata-server啟動(可選)
## 官方文檔: [https://seata.io/](https://seata.io/)
# 安裝&啟動:
1. [官網](https://github.com/seata/seata/releases) 下載 1.7.1 版本后解壓(群文件里面的配置已經調整過了) 。 版本一定要一致!!!

2. 創建數據庫
```
CREATE DATABASE `lamp_seata` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
3. 向lamp_seata庫 導入 qq群文件下載壓縮包里面 `script/server/db/mysql.sql` . 若是官方下載的包, sql文件要去[官方github倉庫下載](https://github.com/seata/seata/blob/develop/script/server/db/mysql.sql) .
4. 修改安裝包 `conf/registry.conf ` 文件內容:
~~~
registry {
type = "nacos"
nacos {
application = "seata-server"
serverAddr = "localhost:8848"
group = "SEATA_GROUP"
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"
dataId = "seataServer.properties"
}
}
~~~
5. 將 [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.lamp_cloud_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/lamp_seata?useUnicode=true
store.db.user=root
store.db.password=root
~~~
6. 在naocs中新建命名空間
- 命名空間ID:`3cca7d98-3b1c-44d3-90e5-86abaaf0048a`
- 命名空間名: lamp-seata
- 描述: lamp-cloud 分布式事務
7. 在新建的命名空間新建 `seataServer.properties`

```
transport.type=TCP
transport.server=NIO
transport.heartbeat=true
transport.enableClientBatchSendRequest=true
transport.threadFactory.bossThreadPrefix=NettyBoss
transport.threadFactory.workerThreadPrefix=NettyServerNIOWorker
transport.threadFactory.serverExecutorThreadPrefix=NettyServerBizHandler
transport.threadFactory.shareBossWorker=false
transport.threadFactory.clientSelectorThreadPrefix=NettyClientSelector
transport.threadFactory.clientSelectorThreadSize=1
transport.threadFactory.clientWorkerThreadPrefix=NettyClientWorkerThread
transport.threadFactory.bossThreadSize=1
transport.threadFactory.workerThreadSize=default
transport.shutdown.wait=3
service.vgroupMapping.lamp_cloud_seata_tx_group=default
service.default.grouplist=127.0.0.1:8091
service.enableDegrade=false
service.disableGlobalTransaction=false
client.rm.asyncCommitBufferLimit=10000
client.rm.lock.retryInterval=10
client.rm.lock.retryTimes=30
client.rm.lock.retryPolicyBranchRollbackOnConflict=true
client.rm.reportRetryCount=5
client.rm.tableMetaCheckEnable=false
client.rm.tableMetaCheckerInterval=60000
client.rm.sqlParserType=druid
client.rm.reportSuccessEnable=false
client.rm.sagaBranchRegisterEnable=false
client.rm.tccActionInterceptorOrder=-2147482648
client.tm.commitRetryCount=5
client.tm.rollbackRetryCount=5
client.tm.defaultGlobalTransactionTimeout=60000
client.tm.degradeCheck=false
client.tm.degradeCheckAllowTimes=10
client.tm.degradeCheckPeriod=2000
client.tm.interceptorOrder=-2147482648
store.mode=db
store.lock.mode=file
store.session.mode=file
store.publicKey=
store.file.dir=file_store/data
store.file.maxBranchSessionSize=16384
store.file.maxGlobalSessionSize=512
store.file.fileWriteBufferCacheSize=16384
store.file.flushDiskMode=async
store.file.sessionReloadReadSize=100
store.db.datasource=druid
store.db.dbType=mysql
store.db.driverClassName=com.mysql.cj.jdbc.Driver
store.db.url=jdbc:mysql://127.0.0.1:3306/lamp_seata?useUnicode=true&rewriteBatchedStatements=true
store.db.user=root
store.db.password=root
store.db.minConn=5
store.db.maxConn=30
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.distributedLockTable=distributed_lock
store.db.queryLimit=100
store.db.lockTable=lock_table
store.db.maxWait=5000
store.redis.mode=single
store.redis.single.host=127.0.0.1
store.redis.single.port=6379
store.redis.sentinel.masterName=
store.redis.sentinel.sentinelHosts=
store.redis.maxConn=10
store.redis.minConn=1
store.redis.maxTotal=100
store.redis.database=0
store.redis.password=
store.redis.queryLimit=100
server.recovery.committingRetryPeriod=1000
server.recovery.asynCommittingRetryPeriod=1000
server.recovery.rollbackingRetryPeriod=1000
server.recovery.timeoutRetryPeriod=1000
server.maxCommitRetryTimeout=-1
server.maxRollbackRetryTimeout=-1
server.rollbackRetryTimeoutUnlockEnable=false
server.distributedLockExpireTime=10000
client.undo.dataValidation=true
client.undo.logSerialization=jackson
client.undo.onlyCareUpdateColumns=true
server.undo.logSaveDays=7
server.undo.logDeletePeriod=86400000
client.undo.logTable=undo_log
client.undo.compress.enable=true
client.undo.compress.type=zip
client.undo.compress.threshold=64k
log.exceptionRate=100
transport.serialization=seata
transport.compressor=none
metrics.enabled=false
metrics.registryType=compact
metrics.exporterList=prometheus
metrics.exporterPrometheusPort=9898
```
> 注意: 一定是在新建的命名空間中創建配置
8. 導入成功后,確定下命名空間: `3cca7d98-3b1c-44d3-90e5-86abaaf0048a` 下是否有1個配置文件

10. 啟動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
~~~
11. 驗證是否啟動成功:打開nacos, 【服務管理】 -> 【服務列表】 ->【lamp-seata】-> 有一個服務名為 `server-server` 的服務 即表示成功
- 簡介
- 會員版
- 3.x和4.x的區別
- 新手必讀
- 如何高效提問
- 項目地址
- 項目截圖
- 架構介紹
- 開發規范
- 租戶模式介紹
- lamp-web和lamp-web-plus的區別
- lamp-cloud和lamp-boot區別
- 免費視頻&軟件下載
- 文檔反饋
- lamp-cloud
- 服務介紹
- 環境要求
- 工程導入
- nacos啟動(單機版)
- nacos啟動(集群版)
- 將配置文件導入Nacos
- seata啟動(單機版)
- DATASOURCE模式啟動(會員版)
- SCHEMA模式啟動
- COLUMN模式
- NONE模式
- lamp-web啟動
- lamp-web生產部署
- lamp-web-plus啟動(會員版)
- lamp-web-plus生產部署
- lamp-boot
- 環境要求
- 工程導入
- DATASOURCE模式啟動(會員版)
- SCHEMA模式啟動
- COLUMN模式啟動
- NONE模式啟動
- lamp-web啟動
- lamp-web生產部署
- lamp-web-plus啟動(會員版)
- lamp-web-plus生產部署
- 功能介紹
- 租戶設置
- 數據源配置(會員版)
- 租戶管理
- 超級用戶
- 工作臺
- 通知公告
- 組織管理
- 機構管理
- 崗位管理
- 用戶管理
- 資源中心
- 消息中心
- 短息模版
- 短信中心
- 附件管理
- 流程管理
- 流程部署
- 模型管理
- 系統設置
- 菜單管理
- 角色管理
- 字典管理
- 地區管理
- 參數管理
- 操作日志
- 登錄日志
- 在線用戶
- 應用管理
- 網關管理
- 限流規則
- 組織訪問
- 開發者管理
- 定時任務
- 接口文檔
- Nacos
- 服務監控
- 數據庫監控
- 緩存監控
- zipkin監控
- SkyWalking監控
- 常用配置
- 如何保證我的代碼能更新到最新代碼
- 序列化和反序列化
- 修改日志級別
- 文件上傳&下載&預覽
- 修改租戶模式
- 分頁
- 導入導出
- 請求放行(忽略token&忽略URI權限&忽略租戶編碼)
- 異常處理
- 全局返回
- 參數校驗(會員版)
- 系統日志
- 自研權限認證(URI、按鈕、菜單)
- 數據權限(舊)
- 數據庫配置
- Mybatis配置
- 更多數據庫/數據源/Mybaits配置
- Redis(緩存)配置
- RabbitMq配置
- 灰度發布
- 上手開發
- 表結構整理
- 項目結構&依賴&調用流程介紹
- 生成一個新服務
- 生成后端代碼
- 生成前端lamp-web代碼
- 生成前端項目lamp-web-plus代碼
- 跨域處理
- Swagger文檔調試技巧
- FeignClient接口調用
- 多租戶實現原理
- 分布式事務
- Zipkin配置(過時)
- SkyWalking配置
- 代碼生成器和自動回顯組件使用介紹
- lamp-util原理解析
- 全局注解(lamp-annotation)
- 核心包(lamp-core)
- 自動回顯(lamp-echo-starter)
- 權限控制(lamp-security-starter)
- 當前登錄用戶信息(lamp-jwt-starter)
- 緩存(lamp-cache-starter)
- SpringBoot全局配置(lamp-boot-util)
- SpringCloud全局配置(lamp-cloud-starter)
- 數據源&持久層配置(lamp-databases)
- 對象屬性復制(lamp-dozer-starter)
- 操作日志(lamp-log-starter)
- 消息隊列(lamp-mq-starter)
- 在線文檔(lamp-swagger2-starter)
- 前后端表單統一驗證(lamp-validator-starter)
- 防止Xss攻擊(lamp-xss-starter)
- 生產部署
- 部署前言
- jar部署