开发者社区> 问答> 正文

client获取不到更新事件

update操作,对应的binlog如下:

提问372.png

connector.getWithoutAck(batchSize)只能获取到TRANSACTIONBEGIN和TRANSACTIONEND,如图

提问373.png

db的配置如下:

[mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /data/mysql log-error = /var/log/mysql/error.log

By default we only accept connections from localhost

#bind-address = 127.0.0.1

Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

#自定义参数 explicit_defaults_for_timestamp lower_case_table_names=1 max_connections = 2000

Recommended in standard MySQL setup

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES innodb_open_files=65535

max_connect_errors=3500 max_connections=3100 max_user_connections=3000 open_files_limit=65535

#connect_timeout=30 #interactive_timeout=200 #wait_timeout=200

log-bin=mysql-bin #添加这一行就ok binlog-format=ROW #选择row模式 server_id=1 #配置mysql replaction需要定义,不能和canal的slaveId重复 #skip-name-resolve

innodb_log_file_size=1000M innodb_buffer_pool_size=2g innodb_log_buffer_size=10M innodb_sync_array_size=16 thread_cache_size=256 max_binlog_size=500M binlog_cache_size=1M key_buffer_size=8M

#开启慢查询 slow_query_log值为1或on表示开启,为0或off为关闭 slow_query_log=on #设置慢查询日志放在哪里 slow_query_log_file=mysql-slow #设置sql执行时间多长为慢查询 long_query_time=2 #表示没有使用索引的sql查询也会记录下来 #log-queries-not-using-indexes

#支持emoji character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci

经过验证,当canal部署到mysql同一台机器时可以获取到 ROWDATA事件(canal.instance.master.address = 使用 127.0.0.1:3306或者 机器真实地址:3306都可以)

如果使用阿里云rds,这该怎么办- -

原提问者GitHub用户yjp211

展开
收起
绿子直子 2023-05-09 15:48:17 121 0
1 条回答
写回答
取消 提交回答
  • 没这回事,不需要部署到同一台mysql上. 检查下过滤条件,会以client提交的为准 debug看看server端的过滤条件,可以试试使用RDS的情况

    原回答者GitHub用户agapple

    2023-05-10 10:46:40
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载