开发者社区> 问答> 正文

现在很多时候binlog-format都是mixed

现在很多时候binlog-format都是mixed,以后会支持这类型么

原提问者GitHub用户zhenglu1989

展开
收起
绿子直子 2023-05-09 16:07:08 96 0
2 条回答
写回答
取消 提交回答
  • 目前canal版本解析支持mixed/statement/row格式

    原回答者GitHub用户agapple

    2023-05-10 11:05:50
    赞同 展开评论 打赏
  • CSDN全栈领域优质创作者,万粉博主;InfoQ签约博主;华为云享专家;华为Iot专家;亚马逊人工智能自动驾驶(大众组)吉尼斯世界纪录获得者

    MySQL 8.0之后的版本默认情况下,binlog-format参数是ROW格式。但是在MySQL 5.7及之前的版本中,binlog-format参数可以设置为多种不同的格式,包括ROW、STATEMENT、MIXED等。

    对于MySQL 5.7及之前的版本,如果将binlog-format设置为MIXED,则会启用混合模式(mixed mode),这意味着MySQL将以二进制形式记录所有的数据变更操作,包括INSERT、UPDATE和DELETE等操作,同时还会记录SELECT语句的结果集。

    需要注意的是,混合模式下生成的binlog文件比ROW格式下的要大得多,因为它需要记录更多的信息。另外,由于混合模式下记录的数据变更操作比较复杂,因此在某些情况下可能会影响到数据库的性能和可用性。

    总之,如果你使用的是MySQL 5.7及之前的版本,并且需要记录所有的数据变更操作,那么可以将binlog-format设置为MIXED。但是如果你使用的是MySQL 8.0及以上的版本,则建议将binlog-format设置为ROW格式,以获得更好的性能和可用性。

    2023-05-10 09:21:18
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
PolarDB-X 2.0 全局 Binlog 与备份恢复能 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载