首页 > 数据库 >mysql binlog 几种日志格式的区别?

mysql binlog 几种日志格式的区别?

时间:2023-03-28 17:14:14浏览次数:37  
标签:binlog Statement mysql 格式 日志 从库 Row

在MySQL中,二进制日志(binlog)是用于记录数据库操作的一种日志文件,主要用于主从复制、恢复数据等操作。MySQL提供了三种不同的二进制日志格式,分别是 Statement、Row 和 Mixed。它们之间的区别如下:

  • Statement格式:该格式记录SQL语句的原始文本。这意味着在从主库复制到从库时,从库会重演主库上执行的相同SQL语句。这种格式通常会导致一些不一致的问题,如使用随机函数和时间函数等操作,可能会导致从库和主库上的数据不一致。

  • Row格式:该格式记录被修改的每一行数据的变化。这意味着在从主库复制到从库时,从库会重新执行相同的更新操作。这种格式可以避免一些不一致的问题,但会导致binlog文件变大,以及在一些复杂的查询中性能下降的问题。

  • Mixed格式:该格式是Statement格式和Row格式的混合体,MySQL会根据具体的操作选择最适合的格式。大多数操作都是使用Statement格式记录,而一些无法保证一致性的操作则使用Row格式记录。

总的来说,Statement格式具有较好的性能,但可能会导致从库和主库数据不一致;Row格式可以避免数据不一致问题,但会导致binlog文件变大;Mixed格式是Statement和Row格式的混合体,可以根据操作类型自动选择最合适的格式。因此,在使用MySQL binlog时,需要根据具体的需求选择合适的日志格式。

标签:binlog,Statement,mysql,格式,日志,从库,Row
From: https://www.cnblogs.com/badake/p/17265911.html

相关文章

  • Power BI如何连接MySQL数据库
    既然写了如何卸载MySQLconnectornet(相关文章见如何解决MySQLConnectorNETxxxx无法卸载的问题(win10)),那就顺便再写一篇PowerBI(以下简称PBI)如何连接MySQL数据库吧在系统......
  • 如何解决MySQL Connector NET xxxx无法卸载的问题(win10)
    使用PowerBI(以下简称PBI)的小伙伴想必都知道,想要在PBI连接MySQL数据库,必须安装MySQLconnectornet,我之前安装过MySQLconnectornet6.9.3,PBI是可以正常连接MySQL的,最近更......
  • MYsql数据库的概述(韩顺平)
    Mysql的安装命令行连接到MySqlMysql是一个服务在连接mysql之前必须保证mysql是运行的状态连接mysql中-uroot表示的是用户名连接mysql的注意事项Navicat的......
  • 一直报错Exception in thread "main" java.lang.ClassNotFoundException: com.mysql.j
    按照网上的提示在pom.xml添加了依赖<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.11</version></depen......
  • Percona Server for MySQL 5.6.10-60.2发布
    PerconaServerforMySQL5.6.10-60.2发布作者:chszsPercona于2013年3月14日发布PerconaServerforMySQL5.6.10-60.2版。下载地址见:http://www.percona.com/downloads/Pe......
  • SLF4J和Logback日志框架详解
    SLF4J和Logback日志框架详解作者:chszs本文讲述SLF4J和Logback日志框架。  SLF4J是一套简单的日志外观模式的JavaAPI,帮助在项目部署时对接各种日志实现。LogBack在运行时......
  • mysql数据迁移mongodb
    现在准备把mysql数据迁移到mongodb,上网搜索了一些资料,上了mongodb的官网看了,在window下有一个mongodb客户端工具,可以直接把数据迁移到mongodb,并且非常简单工具名..Mong......
  • Linux install mysql 在Linux安裝Mysql
    1.0installmysqlsudoaptpurgemysql-servermysql-commonsudoaptautoremovemysql-servermysql-commonsudoapt-getupdatesudoapt-getinstallmysql-server......
  • Mysql基本语法学习
    数据库/模式创建createdatabase/schema<数据库/模式名>使用use<数据库/模式名>删除dropdatabase/schema<数据库/模式名>查询所有showdatabase查询当前数据库sel......
  • 基于mysqludf_sys.so漏洞的提权
    基于mysqludf_sys.so漏洞的提权 有时候目标机里会存在mysqludf_sys.so文件,那即表示数据库里可能存在用户自定义的功能函数。UDF(userdefinedfunction),即用户自定......