canal同步mysql到kafka_使用Canal同步MySQL数据到Kafka 得到的数据中sql字段无值-问答-阿里云开发者社区-阿里云...
這個應該跟你的binlog記錄模式有關系,binlog有3中模式,ROW(行模式), Statement(語句模式), Mixed(混合模式)三種模式的用法如下: ROW(行模式):記錄那條數據修改了,注意:記錄的是這條記錄的全部數據,即使只更新了一個字段,binlog里也會記錄所有字段的數據 優點:他不記錄sql語句的上下文信息,日志內容會非常清楚的記錄每條數據詳細的變更細節,即使只更新了一個字段,binlog里也會記錄所有字段的數據。 缺點:binlog日志會非常大,mysql主從同步時,會產生大量磁盤IO
Statement(語句模式): 每一條會修改數據的sql都會記錄在binlog中。 優點:不需要記錄每一行的變化,減少了binlog日志量,節約了IO,提高性能。 缺點:由于記錄的只是執行語句,為了這些語句能在slave上正確運行,因此還必須記錄每條語句在執行的時候的一些相關信息,以保證所有語句能在slave得到和在master端執行時候相同 的結果。另外mysql 的復制,像一些特定函數功能,slave可與master上要保持一致會有很多相關問題。
Mixed(混合模式):在Mixed模式下,一般的語句修改使用statment格式保存binlog,如一些函數,statement無法完成主從復制的操作,則采用row格式保存binlog,MySQL會根據執行的每一條具體的sql語句來區分對待記錄的日志形式,也就是在Statement和Row之間選擇一種。
你有可能模式選的ROW,導致只有數據變化,沒有sql語句
總結
以上是生活随笔為你收集整理的canal同步mysql到kafka_使用Canal同步MySQL数据到Kafka 得到的数据中sql字段无值-问答-阿里云开发者社区-阿里云...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 上海欢乐谷行李箱寄存多少钱
- 下一篇: jquery发送put请求_浅谈GET,