使用DM同步数据,从上游MYSQL同步到下游MySQL报错

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:DM最新版本
  • 【问题描述】:我用DM同步数据从MySQL到MySQL测试功能,但是刚启动就报创建dm_meta里的表的错; [“execute statement failed”] [task=mysql] [unit=load] [query=“CREATE TABLE IF NOT EXISTS dm_meta.mysql_loader_checkpoint (\ \t\tid char(32) NOT NULL,\ \t\tfilename varchar(255) NOT NULL,\ \t\tcp_schema varchar(128) NOT NULL,\ \t\tcp_table varchar(128) NOT NULL,\ \t\toffset bigint NOT NULL,\ \t\tend_pos bigint NOT NULL,\ \t\tcreate_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,\ \t\tupdate_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\ \t\tUNIQUE KEY uk_id_f (id,filename)\ \t);\ ”] [argument="[]"] [error=“Error 1293: Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause”]

这种有办法解决吗还是说不支持MySQL到MySQL?

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

DM 目前不支持 MySQL 到 MySQL 同步,因为在 sync 阶段,DM 做了很多语法兼容性适配,如果下游到 MySQL 可能会有兼容性的问题。

那假如我用DM从上游MySQL同步数据到TIDB集群里,在用TIDB binlog 同步到下游MySQL里,按这样的逻辑我最后面的MySQL数据是不是跟最上游的MySQL数据一致,脑洞大开问题,不好意思。 MYSQL=>(通过DM)TIDB=>(通过tidb binlog)MYSQL

您好: 只要是mysql和tidb完全兼容的语法,那么是一致的。