开启mysql的binlog日志步骤详解

2025-02-06 16:50

本文主要是介绍开启mysql的binlog日志步骤详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

《开启mysql的binlog日志步骤详解》:本文主要介绍MySQL5.7版本中二进制日志(bin_log)的配置和使用,文中通过图文及代码介绍的非常详细,需要的朋友可以参考下...

mysql版本5.7

1.查看是否开启bin_log

show global variables like'log_bin'; 

开启mysql的binlog日志步骤详解

off的话需要先开启

在mysql的文件夹目录中找到my.ini

开启mysql的binlog日志步骤详解

加一行log-bin="C:/ProgramData/MySQL/MySQL Server 5.7/logs/log-bin"

并提前创建好目录

开启mysql的binlog日志步骤详解

开启mysql的binlog日志步骤详解

2.数据库会把日志放进logs目录中

开启mysql的binlog日志步骤详解

3.查看log日志

SHOW BINARY LOGS;

开启mysql的binlog日志步骤详解

查看log-bin.000001文件指定时间的log

(要运行mysqlbinlog命令,您需要在操作系统的命令行界面(例如Windows的命令提示符或PowerShelllinuxMACOS的终端)中执行,而不是在MySQL命令行客户端或任何SQL管理工具中。)

mysqlbinlog --no-defaults --base64-output=decode-rows -v --database="ezhizao_yzbh_ggyjs" --start-datetime="2024-12-04 11:00:00" --stop-datetime="2025-07-17 12:00:00" "log-bin.000001"

C:\ProgramData\MySQL\MySQL Server 5.7\logs>mysqlbinlog --no-defaults --base64-output=decode-rows -v --database="ezhizao_yzbh_ggy" --start-datetime="2024-12-04 11:10:00" --stop-datetime="2025-07-17 12:00:00" "log-bin.000001"
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1*/;
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
DELIMITER /*!*/;
# at 4
#241203 16:50:52 server id 1  end_log_pos 123 CRC32 0xd1b0f8d9  Start: binlog v 4, server v 5.7.36-log created 241203 16:50:52 at startup
# Warning: this binlog is either in use or was not closed properly.
ROLLBACK/*!*/;
# at 1247
#241204 11:11:55 server id 1  end_log_pos 1312 CRC32 0x7bbf9070         Anonymous_GTID  last_committed=3        sequence_number=4       rbr_only=yes
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;
SET @@SESSION.GTID_NEXT= 'ANONYMOUS'/*!*/;
# at 1312
#241204 11:11:55 server id 1  end_log_pos 1396 CRC32 0xd0da4e48         Query   thread_id=5     exec_time=0     error_code=0
SET TIMESTAMP=1733281915/*!*/;
SET @@session.pseudo_thread_id=5/*!*/;
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1/*!*/;
SET @@session.sql_mode=1436549152/*!*/;
SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/;
/*!\C utf8mb4 *//*!*/;
SET @@session.character_set_client=45,@@session.collation_connection=45,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/;
BEGIN
/*!*/;
# at 1396
#241204 11:11:55 server id 1  end_log_pos 1493 CRC32 0xaa53947b         Table_map: `ezhizao_yzbh_ggy`.`fxy_financial_voucher_template` mapped to number 140
# at 1493
#241204 11:11:55 server id 1  end_log_pos 1591 CRC32 0x86714204         Update_rows: table id 140 flags: STMT_END_F
### UPDATE `ezhizao_yzbh_ggy`.`fxy_financial_voucher_template`
### WHERE
###   @1=12
###   @2='12'
###   @3=b'0'
###   @4=1
###   @5=1
###   @6=2
###   @7=222
### SET
###   @1=12
###   @2='12'
###   @3=b'0'
###   @4=1
###   @5=1
###   @6=555
###   @7=222
# at 1591
#241204 11:11:55 server id 1  end_log_pos 1622 CRC32 0x32e198c4         Xid = 292
COMMIT/*!*/;
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* added by mysqljsbinlog */ /*!*/;
DELIMITER ;
# End of log file
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;

整理了下常用的配置项

  • 启用二进制日志

    [mysqld]
    log_bin = mysql-bin

    log_bin 指定了二进制日志文android件的前缀名称。日志文件将以这个前缀开始,后跟一个数字后缀。

  • 设置日志格式

    [mysqld]
    binlog_format = ROW | STATEMENT | MIXED
    • ROW:每行变化都记录在日志中。
    • STATEMENT:记录执行的SQL语句。
    • MIXED:结合ROWSTATEMENT,根据情况选择最合适的模式。
  • 指定日志文件大小

    [mysqld]
    max_binlog_size = 100M

    max_binlog_size 指定了单个binlog文件的最大尺寸。当达到这个大小时,MySQL将创建一个新的日志文件。

  • 二进制日志缓存大小

    [mysqld]
    binlog_cache_size = 32K

    binlog_cache_size 指定了事务日志缓存的大小,用于ROW格式的binlog。php

  • 二进制日志索引文件

    [mysqld]
    log_bin_index = mysql-bin.index

    log_bin_index 指定了二进制日志索引文件的名称,该文件记录了所有当前活跃和旧的binlog文件的位置。

  • 同步二进制日志到磁盘

    [mysqld]
    binlog_sync = 1

    binlog_sync 控制何时将事务日志从缓存同步到磁盘。1表示每次事务后都同步,这会降低性能但确保数据安全

  • 二进制日志过期天数

    [mysqld]
    expire_logs_days = 7

    expire_logs_days 指定了binlog文件在被自动删除前可以保留的天数。

  • 最大二进制日志文件数量

    [mysqld]
    max_binlog_files = 100

    max_binlog_files 指定了服务器将保留的最大binlog文件数量。当超过这个数量时,最旧的文件将被删除。

  • 启用GTID模式

    [mysqld]
    gtid_mode = ON

    gtid_mode 启用全局事务标识符(GTID),用于复制和恢复。

  • 启用自动位置同步

    [mysqld]
    log_slave_updates = 1

    log_slave_updates 允许从服务器将复制的更新记录到自己的binlog中。

总结 

到此这篇关于开启mysql的binlog日志的文android章就介绍到这了,更多相关开启mysql的binlog日志内容请搜索China编程(www.chinasem.cn)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程China编程(www.chinasem.cn)!

这篇关于开启mysql的binlog日志步骤详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1153316

相关文章

HTML5 搜索框Search Box详解

《HTML5搜索框SearchBox详解》HTML5的搜索框是一个强大的工具,能够有效提升用户体验,通过结合自动补全功能和适当的样式,可以创建出既美观又实用的搜索界面,这篇文章给大家介绍HTML5... html5 搜索框(Search Box)详解搜索框是一个用于输入查询内容的控件,通常用于网站或应用程

Python pip下载包及所有依赖到指定文件夹的步骤说明

《Pythonpip下载包及所有依赖到指定文件夹的步骤说明》为了方便开发和部署,我们常常需要将Python项目所依赖的第三方包导出到本地文件夹中,:本文主要介绍Pythonpip下载包及所有依... 目录步骤说明命令格式示例参数说明离线安装方法注意事项总结要使用pip下载包及其所有依赖到指定文件夹,请按照以

SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志

《SpringBoot项目配置logback-spring.xml屏蔽特定路径的日志》在SpringBoot项目中,使用logback-spring.xml配置屏蔽特定路径的日志有两种常用方式,文中的... 目录方案一:基础配置(直接关闭目标路径日志)方案二:结合 Spring Profile 按环境屏蔽关

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

C++ 函数 strftime 和时间格式示例详解

《C++函数strftime和时间格式示例详解》strftime是C/C++标准库中用于格式化日期和时间的函数,定义在ctime头文件中,它将tm结构体中的时间信息转换为指定格式的字符串,是处理... 目录C++ 函数 strftipythonme 详解一、函数原型二、功能描述三、格式字符串说明四、返回值五

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用