mysql的binlog三种配置模式小结

 更新时间:2024年07月03日 11:33:34   作者:文盲青年  
本文主要介绍了mysql的binlog三种配置模式小结,主要是binlog_format的值有3个选项,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

cat /etc/my.cnf

[mysqld]

[client]
	default-character-set=utf8
[mysqld]
	collation-server = utf8_unicode_ci
	init-connect='SET NAMES utf8'
	character-set-server = utf8
	# port=13000
	server-id=1
	binlog_format=ROW
	log_bin=/tmp/mysql-bin.log
[mysql]
	default-character-set=utf8

binlog_format的值有3个选项:MIXED、ROW、STATEMENT

  • MIXED:默认设置。允许记录 row-based 和 statement-based 格式的日志。如果一个语句不能以 row-based 格式安全地记录(例如,涉及到自动递增字段或者时间函数),MySQL 将自动使用 statement-based 格式。

  • ROW:记录所有的修改操作为 row-based 格式。会记录每行数据的具体变化,而不是执行的 SQL 语句。这对于复制(replication)非常有用,因为它可以确保即使在主服务器和从服务器上的数据类型或者表结构有微小差异时,复制也能正常工作。

  • STATEMENT:记录所有的修改操作为 statement-based 格式。记录的是执行的 SQL 语句,而不是每行数据的具体变化。这种格式的日志文件通常比 row-based 格式小,但是在某些情况下,比如涉及到自动递增字段或者时间函数时,可能会导致复制时出现问题。

具体选哪种看需求:

如果想要确保数据的一致性,设置 binlog_format 为 ROW。
如果你更关心日志文件的大小,并且确信你的应用场景不会导致 statement-based 复制的问题,可选择STATEMENT。

配置参考:

log_bin = /var/log/mysql/mysql-bin.log:启用binlog并指定路径和文件名。
binlog_format = STATEMENT:设置binlog的格式,可以是STATEMENT、ROW、MIXED。
expire_logs_days = 7:设置binlog文件的过期时间。
max_binlog_size = 100M:设置单个binlog文件的最大尺寸。

到此这篇关于mysql的binlog三种配置模式小结的文章就介绍到这了,更多相关mysql binlog配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql分表之后如何平滑上线详解

    mysql分表之后如何平滑上线详解

    项目开发中,我们的数据库数据越来越大,随之而来的是单个表中数据太多,以至于查询书读变慢,当出现这种情况时,我们可以考虑分表,这篇文章主要给大家介绍了关于mysql分表之后如何平滑上线的相关资料,需要的朋友可以参考下
    2021-10-10
  • 浅谈Mysql指定顺序排序查询

    浅谈Mysql指定顺序排序查询

    给大家用过实例分析了Mysql查询中指定顺序排序的相关技术问题,需要的朋友参考一下吧。
    2017-12-12
  • mysql中索引与FROM_UNIXTIME的问题

    mysql中索引与FROM_UNIXTIME的问题

    这篇文章主要介绍了mysql中索引与FROM_UNIXTIME的问题的相关资料,需要的朋友可以参考下
    2017-05-05
  • MySQL的存储引擎InnoDB和MyISAM

    MySQL的存储引擎InnoDB和MyISAM

    这篇文章主要介绍了MySQL的存储引擎InnoDB和MyISAM,MyISAM 用的是非聚集索引方式,即数据和索引落在不同的两个文件上,下文更多相关内容需要的小伙伴可以参考一下
    2022-04-04
  • MAC下MYSQL数据库密码忘记的解决办法

    MAC下MYSQL数据库密码忘记的解决办法

    这篇文章主要介绍了Mac操作系统下MYSQL数据库密码忘记的快速解决办法,教大家重置MYSQ密码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • Mysql中Join的使用实例详解

    Mysql中Join的使用实例详解

    本章节我们将向大家介绍如何使用MySQL 的 JOIN 在两个或多个表中查询数据。对mysql中的join感兴趣的朋友一起学习吧
    2017-04-04
  • Ubuntu Server 16.04下mysql8.0安装配置图文教程

    Ubuntu Server 16.04下mysql8.0安装配置图文教程

    这篇文章主要为大家详细介绍了Ubuntu Server 16.04下mysql8.0安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • MySQL中的SHOW FULL PROCESSLIST命令实现

    MySQL中的SHOW FULL PROCESSLIST命令实现

    SHOW FULL PROCESSLIST命令是MySQL中一个非常有用的工具,可以帮助我们理解和监控MySQL服务器的状态,本文主要介绍了MySQL中的SHOW FULL PROCESSLIST命令,感兴趣的可以了解一下
    2023-11-11
  • MySQL中case when的两种基本用法及区别总结

    MySQL中case when的两种基本用法及区别总结

    在mysql中case when用于计算条件列表并返回多个可能结果表达式之一,下面这篇文章主要给大家介绍了关于MySQL中case when的两种基本用法及区别的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • Mysql分组查询每组最新的一条数据的五种实现方法

    Mysql分组查询每组最新的一条数据的五种实现方法

    在写报表功能时遇到一个需要根据用户id分组查询最新一条钱包明细数据的需求,本文主要介绍了Mysql分组查询每组最新的一条数据的五种实现方法,感兴趣的可以了解一下
    2024-08-08

最新评论