Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ticdc: move the mysql downstream user permission info to the mysql sink doc (#18162) #18185

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 0 additions & 16 deletions ticdc/ticdc-faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -241,22 +241,6 @@ TiCDC 提供至少一次的数据同步保证,当下游有重复数据时,

在 v6.1.3 版本之前,`safe-mode` 默认为 `true`,即所有的 `INSERT` 和 `UPDATE` 语句都转成 `REPLACE INTO` 语句。在 v6.1.3 及之后版本,系统能自动判断下游是否存在重复数据,`safe-mode` 默认更改为 `false`,当系统判断下游无重复数据时,会直接同步 `INSERT` 和 `UPDATE` 语句。

## 数据同步下游的 Sink 为 TiDB 或 MySQL 时,下游数据库的用户需要哪些权限?

Sink 为 TiDB 或 MySQL 时,下游数据库的用户需要以下权限:

- `Select`
- `Index`
- `Insert`
- `Update`
- `Delete`
- `Create`
- `Drop`
- `Alter`
- `Create View`

如果要同步 `recover table` 到下游 TiDB,需要有 `Super` 权限。

## 为什么 TiCDC 需要使用磁盘,什么时候会写磁盘,TiCDC 能否利用内存缓存提升同步性能?

TiCDC 需要磁盘是为了缓冲上游写入高峰时下游消费不及时堆积的数据。TiCDC 正常运行期间都需要写入磁盘,但这通常不是同步吞吐和同步延时的瓶颈,写磁盘对延时影响在百毫秒内。TiCDC 也利用了内存来提升加速读取磁盘中的数据,以提升同步性能。
Expand Down
20 changes: 19 additions & 1 deletion ticdc/ticdc-sink-to-mysql.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ URI 中可配置的参数如下:

| 参数 | 描述 |
| :------------ | :------------------------------------------------ |
| `root` | 下游数据库的用户名。 |
| `root` | 下游数据库的用户名。当同步数据到 TiDB 或其它兼容 MySQL 的数据库时,下游数据库的用户需要具备[一定的权限](#下游数据库用户所需的权限)。 |
| `123456` | 下游数据库密码。(可采用 Base64 进行编码) |
| `127.0.0.1` | 下游数据库的 IP。 |
| `3306` | 下游数据的连接端口。 |
Expand Down Expand Up @@ -87,6 +87,24 @@ MTIzNDU2
>
> 当 Sink URI 中包含特殊字符时,如 `! * ' ( ) ; : @ & = + $ , / ? % # [ ]`,需要对 URI 特殊字符进行转义处理。你可以使用 [URI Encoder](https://www.urlencoder.org/) 工具对 URI 进行转义。

## 下游数据库用户所需的权限

当同步数据到 TiDB 或其它兼容 MySQL 的数据库时,下游数据库的用户需要以下权限:

- `Select`
- `Index`
- `Insert`
- `Update`
- `Delete`
- `Create`
- `Drop`
- `Alter`
- `Create View`

如果要同步 [`RECOVER TABLE`](/sql-statements/sql-statement-recover-table.md) 到下游 TiDB,下游数据库的用户还需要有 `Super` 权限。

如果下游 TiDB 集群开启了[只读模式](/system-variables.md#tidb_restricted_read_only-从-v520-版本开始引入),下游数据库的用户还需要有 `RESTRICTED_REPLICA_WRITER_ADMIN` 权限。

## 灾难场景的最终一致性复制

从 v6.1.1 版本开始,容灾场景下的最终一致性复制功能 GA。从 v5.3.0 开始,TiCDC 支持将上游 TiDB 的增量数据备份到下游集群的对象存储或 NFS 文件系统。当上游集群出现了灾难,完全无法使用时,TiCDC 可以将下游集群恢复到最近的一致状态,即提供灾备场景的最终一致性复制能力,确保应用可以快速切换到下游集群,避免数据库长时间不可用,提高业务连续性。
Expand Down