【 TiDB 使用环境】测试
【 TiDB 版本】v6.0.0-master-dirty
centos 版本: CentOS Linux release 8.5.2111
dm 二进制信息:
`
[root@9ab1a07de5e3 bin]# pwd
/opt/dm-nightly-linux-amd64/bin
[root@9ab1a07de5e3 bin]# ll -h
total 458M
drwxr-xr-x. 3 root root 161 Dec 5 09:49 .
drwxr-xr-x. 4 1000 1000 44 May 31 2022 …
drwx------. 3 root root 20 Dec 4 17:02 default.master1
-rwxr-xr-x. 1 root root 101M May 31 2022 dmctl
-rwxr-xr-x. 1 root root 114M May 31 2022 dm-master
-rwxr-xr-x. 1 root root 110M May 31 2022 dm-syncer
-rwxr-xr-x. 1 root root 121M May 31 2022 dm-worker
-rwxr-xr-x. 1 root root 13M May 31 2022 mydumper
[root@9ab1a07de5e3 bin]# /opt/dm-nightly-linux-amd64/bin/dmctl --version
Release Version: v6.0.0-master-dirty
Git Commit Hash: 728c693c9266f1c7d96c74bbd4e8cba4cbd6160c
Git Branch: master
UTC Build Time: 2022-05-30 11:36:06
Go Version: go version go1.18.2 linux/amd64
【复现路径】 【遇到的问题:问题现象及影响】 在做迁移的时候报sql_mode有问题, 但是 task.yaml 中配置了 session的sql_mode, 但是实际执行的时候对配置文件中配置的sql_mode 不生效 【资源配置】 **source 配置信息**
source-id: “mysql-replica-01”
from:
host: “127.0.0.1”
user: “HH”
password: “S2fpXs8MEHesXUQjj6YH0ECO3Et+ZteB3Q==”
port: 3306
任务配置:
`
name: testdm
task-mode: all
target-database:
host: “10.88.0.11”
port: 3306
user: “HH”
password: “S2fpXs8MEHesXUQjj6YH0ECO3Et+ZteB3Q==”
session:
sql_mode: “ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION”
mysql-instances:
- source-id: “mysql-replica-01”
block-allow-list: “ba-rule1”
block-allow-list:
ba-rule1:
do-dbs: [“employees”]
`
【附件:截图/日志/监控】
任务错误文件:
error.log (2.6 KB)
目标数据库 general_log 文件, 每个链接在创建的时候都执行了 任务配置中的sql_mode, 但是在执行语句的时候又额外执行的其他sql_mode, 请看session id 为 4140 的日志:
general_log.log (8.4 KB)