Squ*_*ake 5 mysql docker-compose debezium
我正在使用debezium0.9 版本进行一些 POC,并且正在使用嵌入式 Debezium 配置运行独立的 docker 化 mysql 数据库。我遇到了这个问题:
Caused by: java.lang.IllegalStateException: Cannot read the binlog filename and position via 'SHOW MASTER STATUS'. Make sure your server is correctly configured
Run Code Online (Sandbox Code Playgroud)
我怀疑这是因为独立配置mysql或嵌入式配置,但不确定如何继续和修复。有什么提示吗?
正如 Bill 在上述评论中指出的那样 - Debezium 连接器使用二进制日志来完成其工作,因此需要启用它。
Debezium MySQL 需要启用服务器 binlog。对于 RDS MySQL,log_bin 属性由 AWS 直接管理,默认设置为 OFF。Debezium MySQL 在快照期间执行 SHOW MASTER STATUS 命令时,结果集为空并抛出异常:
https://debezium.io/documentation/faq/
您可以检查是否启用了 binlog show master status,这是禁用时从 debezium 收到的错误。以下是启用 binlog 时的示例,禁用时将不会返回任何行。
mysql> show master status;
+------------------+----------+--------------+------------------+--------------------------------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+--------------------------------------------+
| mysql-bin.000001 | 170796 | | | bf9ae151-baac-11ec-919f-42010a8a0014:1-599 |
+------------------+----------+--------------+------------------+--------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
对于 Google Cloud SQL MySQL 5.x,您需要启用时间点恢复 https://cloud.google.com/sql/docs/mysql/backup-recovery/pitr#enablingpitr
| 归档时间: |
|
| 查看次数: |
6141 次 |
| 最近记录: |