tidb 的操作日志,类似MySQL的binlog吗?怎么获取数据库层面操作

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
tidb的binlog 日志 和MySQL的binlog一样吗? 怎么跟MySQL一样获取对于数据库的操作?

mysql 单机实现简单,tidb 分布式实现起来难
可以参考 https://docs.pingcap.com/zh/tidb/stable/ticdc-sink-to-cloud-storage 自己写消费逻辑

谢谢大佬,我是想 像MySQL解析binlog一样,解析一下对TiDB 数据的操作

https://docs.pingcap.com/zh/tidb/stable/maintain-tidb-binlog-cluster
没用过,解析好像也是需要用tidb的解析工具

有的,但是官方不推荐

好的谢谢,tidb Binlog 可收集数据库的日志,这个我测试一下

这个后期不支持了,测试的时候看下版本

现在都cdc了

tidb有工具 Reparo可以解析binlog转化成sql
https://docs.pingcap.com/zh/tidb/stable/tidb-binlog-reparo#reparo-使用文档

有binlog 叫cdc 你说的操作日志 是tidb.log

目前来说,操作性更高的只有 general_log 、其实是开审计,实际使用都受限

老哥,你没明白我意思,也可能是我表达不清楚。
我想知道的是 tidb 的binlog 是否和MySQL的binlog 一样,可通过mysqlbinlog 解析从而获取对数据库的操作。
如果不一样,TiDB的数据库操作怎么获取?

后面的版本都推荐使用TiCDC了,不推荐使用Binlog了

TiDB 是一个分布式 SQL 数据库,它支持通过 TiDB Binlog 来实现数据的增量备份和实时数据同步。TiDB Binlog 是 TiDB 集群中的数据变更日志,记录了所有的 DDL 和 DML 操作。以下是如何解析 TiDB 的 Binlog 的一些步骤:

  1. 启用 Binlog:首先,确保 TiDB 集群已经启用了 Binlog 功能。可以通过设置 log_bin 系统变量为 ON 来启用 Binlog。
  2. 访问 Binlog 文件:Binlog 文件通常存储在 TiKV 节点上,文件名通常以 binlog 开头。
  3. 使用 TiDB Binlog Dumper:PingCAP 提供了一个工具叫做 tidb-binlog-dumper,它可以解析 TiDB 的 Binlog 文件。这个工具可以通过 TiDB 官方的 TiUP 包管理器安装。
  4. 解析 Binlog:使用 tidb-binlog-dumper 工具来解析 Binlog 文件。例如,以下命令可以解析指定的 Binlog 文件:
tidb-binlog-dumper --binlog-file="/path/to/binlog-file"
  1. 查看解析结果:执行上述命令后,tidb-binlog-dumper 会输出 Binlog 中的 SQL 语句,这些语句表示了原始的数据变更操作。
  2. 实时订阅 Binlog:除了解析已有的 Binlog 文件,TiDB 还支持实时订阅 Binlog 变更。这可以通过 TiDB 的客户端库实现,例如使用 Go 的 client 包中的 binlog 客户端。
  3. 使用第三方工具:除了官方的 tidb-binlog-dumper,还有一些第三方工具和平台也支持解析和展示 TiDB Binlog,例如 Drainer 等。

你可以理解tidb不是mysql 无法解析binlog还原成sql

tidb的binlog跟mysql类似,也可以监听数据库的操作,但是会对集群性能有一定影响,如果没有特殊需要不建议开启

如果是这样,TICDC 应该就能支持你的需求了,TiCDC 支持同步集群数据变更到 MySQL、Kafka、MQ、S3/GCS等组件,都是解析行的变更记录的