mysql的binlog三种配置模式小结
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 phpMyAdmin cpolar实现远程访问连接的操作步骤
这篇文章主要给大家介绍了安装 MySQL phpMyAdmin cpolar实现远程访问连接的流程步骤,文中有详细的图文介绍,具有一定的参考价值,需要的朋友可以参考下2023-08-08Windows Server 2003 下配置 MySQL 集群(Cluster)教程
这篇文章主要介绍了Windows Server 2003 下配置 MySQL 集群(Cluster)教程,本文先是讲解了原理知识,然后给出详细配置步骤和操作方法,需要的朋友可以参考下2015-06-06Linux7.6二进制安装Mysql8.0.27详细操作步骤
大家好,本篇文章主要讲的是Linux7.6二进制安装Mysql8.0.27详细操作步骤,感兴趣的同学快来看一看吧,希望对你起到帮助2021-11-11MySQL如何设置动态创建时间(create_time)和修改时间(update_time)
本文主要介绍了MySQL如何设置动态创建时间(create_time)和修改时间(update_time),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-05-05
最新评论