Siam博客

dtm分布式事务——解决导入RM数据库失败

2022-03-01

问题背景

dtm中的子事务屏障,需要与数据库交互,xa事务模式,也需要与数据库交互。

根据部署文档RM数据库的导入教程,出现以下报错

Specified key was too long; max key length is 1000 bytes

解决

创建表的mysql脚本没有指定存储引擎,当自己的环境默认引擎是MyIsam的时候将会出现这个问题,索引长度过长

在创建脚本后指定引擎即可解决,或者可以配置服务器的默认引擎为Innodb

create table if not exists dtm_busi.user_account(
  id int(11) PRIMARY KEY AUTO_INCREMENT,
  user_id int(11) UNIQUE,
  balance DECIMAL(10, 2) not null default '0',
  trading_balance DECIMAL(10, 2) not null default '0',
  create_time datetime DEFAULT now(),
  update_time datetime DEFAULT now(),
  key(create_time),
  key(update_time)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
本文链接:
版权声明: 本文由 Siam原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权

扫描二维码,分享此文章