tidb 版本 4.0.9
问题:使用mydumper工具导出一个表,但是mydumper报错,使用mysqldump是可以正常导出来的,此表 在mysql数据库里通过mydumper也是可以导出来的。
/mydumper -h 127.0.0.1 -p ‘’ -u root -P 4001 -t 16 -B ruleengine -T t_rule_parameter -o /home/tidb/backup/
** (mydumper:22389): CRITICAL **: Error dumping table (xxxx.t_xxxxx) data: You have an error in your SQL syntax; check the manual that corresponds to your TiDB version for the right syntax to use line 1 column 145 near ",TABLE,COLUMN,TAG_ID,CREATE_TIME FROM ruleengine
.t_rule_parameter
1 个赞
yilong
(yi888long)
2021 年6 月 23 日 08:25
2
麻烦反馈下完整的导出日志,表结构 ,方便复现问题,多谢。
Hacker_nTkchcIf:
t_rule_parameter
t_rule_parameter | CREATE TABLE t_rule_parameter
(
ID
int(11) NOT NULL AUTO_INCREMENT COMMENT ‘主键’,
RISK_DATA_DATA_SOURCE_ID
int(32) DEFAULT NULL COMMENT ‘数据源ID !!!注意:此ID关联的是RiskData数据库中t_data_executor_data_source的主键ID!!!’,
NAME
varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT ‘’ COMMENT ‘变量名称’,
DESCRIPTION
varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT ‘’ COMMENT ‘变量描述’,
TYPE
enum(‘BASIS’,‘DERIVATION’) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT ‘BASIS’ COMMENT ‘BASIS=基础标量,DERIVATION=衍生变量’,
SCOPE_TYPE
enum(‘INPUT’,‘OUTPUT’) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT ‘INPUT’ COMMENT ‘入参=INPUT;出参=OUTPUT’,
DATA_TYPE
enum(‘INTEGER’,‘STRING’,‘DATE’,‘NUMBER’,‘BOOLEAN’) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT ‘STRING’ COMMENT ‘’‘INTEGER’‘,’‘STRING’‘,’‘DATE’‘,’‘NUMBER’‘’,
DEFAULT_VALUE
varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT ‘默认值’,
SCRIPT
mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT ‘表达式’,
SCRIPT_LANUAGE
enum(‘JS’,‘GROOVY’,‘PYTHON’,‘LUA’) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL DEFAULT ‘GROOVY’ COMMENT ‘脚本语言’,
IS_PROCESS
tinyint(1) DEFAULT ‘0’ COMMENT ‘是否处理’,
IS_NULLABLE
tinyint(1) DEFAULT ‘1’ COMMENT ‘是否允许空值’,
SCHEMA
varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT ‘视图’,
TABLE
varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT ‘表名’,
COLUMN
varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL COMMENT ‘字段’,
TAG_ID
int(11) DEFAULT NULL COMMENT ‘标签ID’,
UPDATE_TIME
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT ‘修改时间’,
CREATE_TIME
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
PRIMARY KEY (ID
),
UNIQUE KEY IDX_NAME
(NAME
)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci AUTO_INCREMENT=660578 COMMENT=‘变量表’ |
您的列使用了,schema,table 等关键字,这个表在 tidb 看起来都没法创建成功吧。目前是使用 mydumper 从哪里导出?这个表在 v4.0.9 创建成功了吗?
嗯,这个应该是关键字,要加才能创建成功。您可能需要在导出的schema文件里手工加上
了。
另外建议还是不要使用关键字作为列名称。
https://docs.pingcap.com/zh/tidb/stable/keywords#关键字
system
(system)
关闭
2022 年10 月 31 日 19:08
9
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。