File tree Expand file tree Collapse file tree 5 files changed +19
-6
lines changed
Expand file tree Collapse file tree 5 files changed +19
-6
lines changed Original file line number Diff line number Diff line change @@ -67,6 +67,7 @@ TiDB 从 v7.5.3 和 v7.6.0 开始提供 [`INFORMATION_SCHEMA.KEYWORDS`](/informa
6767- ADMIN
6868- ADVISE
6969- AFTER
70+ - AFFINITY
7071- AGAINST
7172- AGO
7273- ALGORITHM
@@ -420,6 +421,7 @@ TiDB 从 v7.5.3 和 v7.6.0 开始提供 [`INFORMATION_SCHEMA.KEYWORDS`](/informa
420421
421422<a id =" M " class =" letter " href =" #M " >M</a >
422423
424+ - MASKING
423425- MASTER
424426- MATCH (R)
425427- MAXVALUE (R)
@@ -526,6 +528,7 @@ TiDB 从 v7.5.3 和 v7.6.0 开始提供 [`INFORMATION_SCHEMA.KEYWORDS`](/informa
526528- PLUGINS
527529- POINT
528530- POLICY
531+ - POLICIES
529532- PRECEDING
530533- PRECISION (R)
531534- PREPARE
@@ -674,6 +677,7 @@ TiDB 从 v7.5.3 和 v7.6.0 开始提供 [`INFORMATION_SCHEMA.KEYWORDS`](/informa
674677- STATS_BUCKETS
675678- STATS_COL_CHOICE
676679- STATS_COL_LIST
680+ - STATS_DELTA
677681- STATS_EXTENDED
678682- STATS_HEALTHY
679683- STATS_HISTOGRAMS
Original file line number Diff line number Diff line change @@ -193,8 +193,12 @@ TiCDC 为 service GC safepoint 设置的默认存活有效期为 24 小时,即
193193
194194|| 上游时区| TiCDC 时区| 下游时区 |
195195| :- : | :- : | :- : | :- : |
196- | 配置方式 | 见[时区支持](/ configure- time - zone .md ) | 启动 ticdc server 时的 ` --tz` 参数 | sink- uri 中的 ` time-zone` 参数 |
197- | 说明 | 上游 TiDB 的时区,影响 timestamp 类型的 DML 操作和与 timestamp 类型列相关的 DDL 操作。 | TiCDC 会将假设上游 TiDB 的时区和 TiCDC 时区配置相同,对 timestamp 类型的列进行相关处理。 | 下游 MySQL 将按照下游的时区设置对 DML 和 DDL 操作中包含的 timestamp 进行处理。|
196+ | 配置方式 | 见[时区支持](/ configure- time - zone .md ) | 启动 ticdc server 时的 ` --tz` 参数 | ` sink-uri` 中的 ` time-zone` 参数。仅当下游为 ` mysql` 或 ` tidb` sink 时生效。 |
197+ | 说明 | 上游 TiDB 的时区,影响 timestamp 类型的 DML 操作和与 timestamp 类型列相关的 DDL 操作。 | TiCDC 会假设上游 TiDB 的时区与 TiCDC 时区配置相同,并据此对 timestamp 类型的列进行相关处理。 | ` mysql` 和 ` tidb` 类型的下游会依据该连接会话的时区设置,对 DML 和 DDL 操作中包含的 timestamp 值进行处理。|
198+
199+ > ** 注意:**
200+ >
201+ > ` sink-uri` 中的 ` time-zone` 参数仅对 ` mysql` 和 ` tidb` 类型的 sink 生效。对于 Kafka、Pulsar、Cloud Storage 等不涉及下游数据库会话时区的 sink,你只需要确保上游数据库时区与 TiCDC server 的 ` --tz` 参数的设置保持一致,无需配置 ` time-zone` 。
198202
199203> ** 注意:**
200204>
Original file line number Diff line number Diff line change @@ -23,7 +23,7 @@ summary: 了解 TiCDC 详细的命令行参数和配置文件定义。
2323- ` cert ` :TiCDC 创建 TLS 连接时使用的证书文件路径,PEM 格式,可选。
2424- ` cert-allowed-cn ` :TiCDC 创建 TLS 连接时使用的通用名称文件路径,可选。
2525- ` key ` :TiCDC 创建 TLS 连接时使用的证书密钥文件路径,PEM 格式,可选。
26- - ` tz ` :TiCDC 服务使用的时区。TiCDC 在内部转换 ` TIMESTAMP ` 等时间数据类型和向下游同步数据时使用该时区,默认为进程运行本地时区。(注意如果同时指定 ` tz ` 参数和 ` sink-uri ` 中的 ` time-zone ` 参数,TiCDC 进程内部使用 ` tz ` 指定的时区,sink 向下游执行时使用 ` time-zone ` 指定的时区,请保持二者一致。)
26+ - ` tz ` :TiCDC 服务使用的时区。TiCDC 在内部转换 ` TIMESTAMP ` 等时间数据类型和向下游同步数据时使用该时区,默认为进程运行本地时区。注意 ` sink-uri ` 中的 ` time-zone ` 参数仅对 ` mysql ` 和 ` tidb ` sink 生效,用于设置下游连接会话的时区。如果同时指定 ` tz ` 参数和 ` time-zone ` 参数,请确保两个参数的设置相同,因为 TiCDC 进程内部使用 ` tz ` 指定的时区,而 MySQL 和 TiDB sink 向下游执行时使用 ` time-zone ` 指定的时区。
2727- ` cluster-id ` :TiCDC 集群的 ID。可选,默认值为 ` default ` 。` cluster-id ` 是 TiCDC 集群的唯一标识,拥有相同 ` cluster-id ` 的 TiCDC 节点同属一个集群。长度最大为 128,需要符合正则表达式 ` ^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$ ` ,且不能是以下值:` owner ` ,` capture ` ,` task ` ,` changefeed ` ,` job ` ,` meta ` 。
2828
2929## ` cdc server ` 配置文件说明
Original file line number Diff line number Diff line change @@ -71,7 +71,7 @@ URI 中可配置的参数如下:
7171| ` ssl-ca ` | 连接下游 MySQL 实例所需的 CA 证书文件路径(可选)。 |
7272| ` ssl-cert ` | 连接下游 MySQL 实例所需的证书文件路径(可选)。 |
7373| ` ssl-key ` | 连接下游 MySQL 实例所需的证书密钥文件路径(可选)。 |
74- | ` time-zone ` | 连接下游 MySQL 实例时使用的时区名称,从 v4.0.8 开始生效。(可选。如果不指定该参数,使用 TiCDC 服务进程的时区;如果指定该参数但使用空值,例如:` time-zone="" ` ,则表示连接 MySQL 时不指定时区 ,使用下游默认时区)。 |
74+ | ` time-zone ` | 连接下游 MySQL 和 TiDB 实例时使用的时区名称(即下游连接会话的 ` time_zone ` ) ,从 v4.0.8 开始生效。(可选。如果不指定该参数,使用 TiCDC 服务进程的时区;如果指定该参数但使用空值,例如:` time-zone="" ` ,则表示连接时不指定会话时区 ,使用下游默认时区)。 |
7575| ` transaction-atomicity ` | 指定事务的原子性级别(可选,默认值为 ` none ` )。当该值为 ` table ` 时 TiCDC 保证单表事务的原子性,当该值为 ` none ` 时 TiCDC 会拆分单表事务。 |
7676| ` batch-dml-enable ` | 开启 batch-dml 批量写入特性(可选,默认值为 ` true ` )。|
7777| ` read-timeout ` | go-sql-driver 参数,[ I/O 读取超时] ( https://pkg.go.dev/github.com/go-sql-driver/mysql#readme-readtimeout ) (可选,默认值为 ` 2m ` )。|
@@ -80,6 +80,11 @@ URI 中可配置的参数如下:
8080| ` tidb-txn-mode ` | 设置环境变量 [ ` tidb_txn_mode ` ] ( /system-variables.md#tidb_txn_mode ) (可选,默认值为 ` optimistic ` )。 |
8181| ` safe-mode ` | 指定向下游同步数据时 ` INSERT ` 和 ` UPDATE ` 语句的处理方式。当设置为 ` true ` 时,TiCDC 会将上游所有的 ` INSERT ` 语句转换为 ` REPLACE INTO ` 语句,所有的 ` UPDATE ` 语句转换为 ` DELETE ` + ` REPLACE INTO ` 语句。在 v6.1.3 版本之前,该参数的默认值为 ` true ` 。从 v6.1.3 版本开始,该参数的默认值调整为 ` false ` ,TiCDC 在启动时会获取一个当前时间戳 ` ThresholdTs ` :<ul ><li >对于 ` CommitTs ` 小于 ` ThresholdTs ` 的 ` INSERT ` 语句和 ` UPDATE ` 语句,TiCDC 会分别将其转换为 ` REPLACE INTO ` 语句和 ` DELETE ` + ` REPLACE INTO ` 语句。</li ><li >对于 ` CommitTs ` 大于等于 ` ThresholdTs ` 的 ` INSERT ` 语句和 ` UPDATE ` 语句,` INSERT ` 语句将直接同步到下游,` UPDATE ` 语句的具体行为则参考 [ TiCDC 拆分 UPDATE 事件行为说明] ( /ticdc/ticdc-split-update-behavior.md ) 。</li ></ul > |
8282
83+ > ** 注意:**
84+ >
85+ > - ` time-zone ` 仅对 ` mysql ` 和 ` tidb ` 类型的 sink 生效。TiCDC 在建立与下游的连接后,会设置该会话的 ` time_zone ` ,用于下游在执行 DDL 和 DML 时解析 ` TIMESTAMP ` 等受时区影响的时间值。` DATETIME ` 、` DATE ` 和 ` TIME ` 数据类型不受时区设置影响。
86+ > - 为避免因时区设置不一致导致数据不一致,建议显式设置 ` time-zone ` ,并确保其值与 TiCDC Server 的 ` --tz ` 参数以及下游数据库的时区保持一致。
87+
8388若需要对 Sink URI 中的数据库密码使用 Base64 进行编码,可以参考如下命令:
8489
8590``` shell
Original file line number Diff line number Diff line change @@ -72,9 +72,9 @@ Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it
7272Warning: Unable to load ' /usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
7373```
7474
75- 如果下游是特殊的 MySQL 环境(某种公有云 RDS 或某些 MySQL 衍生版本等),使用上述方式导入时区失败,则可以通过设置 ` time-zone ` 为空值来使用下游默认时区,例如:` time-zone="" ` 。
75+ 如果下游是特殊的 MySQL 环境(某种公有云 RDS 或某些 MySQL 衍生版本等),使用上述方式导入时区失败,则可以通过在 Sink URI 中设置 ` time-zone ` 为空值来使用下游默认时区,例如:` time-zone="" ` 。注意该参数仅对 ` mysql ` 和 ` tidb ` 类型的 sink 生效 。
7676
77- 在 TiCDC 中使用时区时 ,建议显式指定时区,例如:` time-zone="Asia/Shanghai" ` 。同时,请确保 TiCDC Server 的 ` tz ` 时区配置、Sink URI 中的 ` time-zone ` 时区配置和下游数据库的时区配置保持一致。这样可以避免因时区不一致导致的数据不一致问题 。
77+ 在使用 MySQL 和 TiDB sink 时 ,建议显式指定时区,例如:` time-zone="Asia/Shanghai" ` 。同时,请确保 TiCDC Server 的 ` tz ` 时区配置、Sink URI 中的 ` time-zone ` 时区配置和下游数据库的时区配置保持一致。这样可以避免因时区不一致导致数据不一致的问题 。
7878
7979## 如何处理升级 TiCDC 后配置文件不兼容的问题?
8080
You can’t perform that action at this time.
0 commit comments