开发者社区 > 云原生 > 中间件 > 正文

请问seata如何正常初始化数据库?

请问seata如何正常初始化数据库?

展开
收起
十一0204 2023-06-28 15:28:54 113 0
1 条回答
写回答
取消 提交回答
  • 要正常初始化 Seata 的数据库,您需要在 Seata 上执行下列 SQL 语句:

    CREATE DATABASE seata;
    USE seata;
    CREATE TABLE seata_global_table (
    xid VARCHAR(64) NOT NULL,
    transaction_id VARCHAR(64) NOT NULL,
    status INT NOT NULL,
    application_id VARCHAR(32) NOT NULL,
    transaction_service_group VARCHAR(32) NOT NULL,
    transaction_name VARCHAR(64),
    timeout INT,
    begin_time TIMESTAMP NOT NULL,
    end_time TIMESTAMP,
    rollback_log BLOB,
    confirm_log BLOB,
    PRIMARY KEY (xid));
    CREATE TABLE seata_local_transaction_table (
    xid VARCHAR(64) NOT NULL,
    branch_id VARCHAR(64) NOT NULL,
    resource_id VARCHAR(255) NOT NULL,
    lock_key VARCHAR(255) NOT NULL,
    state INT NOT NULL,
    application_id VARCHAR(32) NOT NULL,
    transaction_service_group VARCHAR(32) NOT NULL,
    transaction_name VARCHAR(64),
    timeout INT,
    begin_time TIMESTAMP NOT NULL,
    application_data BLOB,
    gmt_create TIMESTAMP NOT NULL,
    gmt_modified TIMESTAMP NOT NULL,
    PRIMARY KEY (xid, branch_id));
    如果您使用的是 MySQL,请将 SQL 语句中的 VARCHAR 改为 CHAR。

    要检查 Seata 数据库是否正常初始化,您可以执行下列 SQL 语句:

    SELECT count() FROM seata_global_table;
    SELECT count(
    ) FROM seata_local_transaction_table;
    如果 Seata 数据库初始化成功,那么这两个 SQL 语句都会返回 1。

    2023-09-28 12:55:36
    赞同 展开评论 打赏

为企业提供高效、稳定、易扩展的中间件产品。

相关电子书

更多
DTCC 2022大会集锦《云原生一站式数据库技术与实践》 立即下载
阿里云瑶池数据库精要2022版 立即下载
《Seata 1.3 新特性以及如何参与社区》 立即下载