mysql bin-log日志导出

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: mysql bin-log日志导出

一、mysql bin-log简介

1.1 什么是bin-log?

MySQL bin-log是二进制日志文件,用于记录MySQL数据库中所有更改操作(如插入、更新、删除等)的详细信息。bin-log文件由MySQL服务器自动创建和维护,并记录了每个更改操作的时间戳、执行的SQL语句等信息。这些信息可以被用于备份和恢复数据、实现主从复制等。bin-log文件通常以二进制格式存储,但也可以使用mysqlbinlog工具将其转换为可读的文本格式。

1.2 什么情况下可以用bin-log导出数据?

可以在以下情况下使用MySQL bin-log导出数据:

  1. 当你需要恢复数据时,可以通过binlog文件来实现。例如,如果数据库出现故障或数据丢失,可以使用binlog文件来恢复数据。
  2. 当你想要将指定位置的binlog文件中的内容导出时,可以使用mysqlbinlog工具。具体操作命令为:mysqlbinlog --start-position=xxxxx /path/to/binlog/file > binlog.txt。其中,xxxxx为要导出的binlog起始位置,/path/to/binlog/file为binlog文件的完整路径,binlog.txt为导出的文件名。
  3. 在进行主从复制的过程中,从服务器会读取主服务器上的bin-log文件,并将其中的数据写入到自己的数据库中。

二、mysql bin-log导出及相关指令

2.1、查询 BINLOG 是否开启
show VARIABLES like 'binlog_%';

2.2、查询 BINLOG 格式
show VARIABLES like 'binlog_format';

2.3、MySQL的binlog格式区别

MySQL的binlog日志有三种格式,分别为Statement、Row和Mixed。

  1. Statement格式:在此模式下,每一条会修改数据的SQL语句都会被记录在binlog中。这种格式的优点在于不需要记录每一行的变化,因此减少了binlog日志量,节约了IO,从而提高了性能。然而,由于SQL的执行是有上下文的,所以在保存的时候需要保存相关的信息。此外,一些使用了函数之类的语句无法被记录复制,这可能会导致主从数据库之间存在数据不一致的问题。
  2. Row格式:与Statement格式不同,Row格式记录的是被修改的每一行数据的变化。这意味着当从主库复制到从库时,从库会重新执行相同的更新操作。显然,这种模式能够保证主从数据库的数据一致性,但可能会增加binlog日志量和IO消耗。
  3. Mixed格式:此模式是Statement和Row两种格式的结合体。在某些情况下,MySQL会根据具体的SQL语句选择使用Statement或Row格式进行记录。
2.4、查询 BINLOG 位置
show VARIABLES like 'datadir';

2.5、查看 master 正在写入的 BINLOG 信息
show master status;

2.6、查询当前数据库中 BINLOG 名称及大小
show binary logs;

2.7、开始一个新的binlog
2.8、cmd进入mysql安装目录bin文件夹,执行导出
mysqlbinlog --no-defaults --base64-output=decode-rows -v --start-datetime="2022-12-29 00:00:00" --stop-datetime="2023-01-08 00:00:00" /bin-log日志位置/mysql-bin.000047 -r /tmp/binlog-export12-30.sql

注:

–no-defaults 可以解决utf8mb4编码警告问题;

–base64-output可以将日志中base64文本解码;


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
前端开发 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
【MySQL × SpringBoot 突发奇想】全面实现流程 · 数据库导出Excel表格文件的接口
15 0
|
1天前
|
SQL 关系型数据库 MySQL
MySQL决战:MySQL数据导入导出
MySQL决战:MySQL数据导入导出
|
1天前
|
SQL 关系型数据库 MySQL
这篇文章带你了解:如何一次性将Centos中Mysql的数据快速导出!!!
这篇文章带你了解:如何一次性将Centos中Mysql的数据快速导出!!!
|
1天前
|
C++
JNI Log 日志输出
JNI Log 日志输出
18 1
|
1天前
|
存储 运维 大数据
聊聊日志硬扫描,阿里 Log Scan 的设计与实践
泛日志(Log/Trace/Metric)是大数据的重要组成,伴随着每一年业务峰值的新脉冲,日志数据量在快速增长。同时,业务数字化运营、软件可观测性等浪潮又在对日志的存储、计算提出更高的要求。
|
1天前
|
关系型数据库 MySQL 数据管理
MySQL通过 bin-log 恢复从备份点到灾难点之间数据
MySQL通过 bin-log 恢复从备份点到灾难点之间数据
|
1天前
|
XML Java Maven
Springboot整合与使用log4j2日志框架【详解版】
该文介绍了如何在Spring Boot中切换默认的LogBack日志系统至Log4j2。首先,需要在Maven依赖中排除`spring-boot-starter-logging`并引入`spring-boot-starter-log4j2`。其次,创建`log4j2-spring.xml`配置文件放在`src/main/resources`下,配置包括控制台和文件的日志输出、日志格式和文件切分策略。此外,可通过在不同环境的`application.yml`中指定不同的log4j2配置文件。最后,文章提到通过示例代码解释了日志格式中的各种占位符含义。
|
1天前
|
运维 监控 Go
Golang深入浅出之-Go语言中的日志记录:log与logrus库
【4月更文挑战第27天】本文比较了Go语言中标准库`log`与第三方库`logrus`的日志功能。`log`简单但不支持日志级别配置和多样化格式,而`logrus`提供更丰富的功能,如日志级别控制、自定义格式和钩子。文章指出了使用`logrus`时可能遇到的问题,如全局logger滥用、日志级别设置不当和过度依赖字段,并给出了避免错误的建议,强调理解日志级别、合理利用结构化日志、模块化日志管理和定期审查日志配置的重要性。通过这些实践,开发者能提高应用监控和故障排查能力。
89 1
|
1天前
|
DataWorks 关系型数据库 MySQL
DataWorks产品使用合集之在DataWorks中,如何通过PolarDB for MySQL来查看binlog日志
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
31 1
|
1天前
|
SQL 监控 关系型数据库
【MySQL学习】MySQL的慢查询日志和错误日志
【MySQL学习】MySQL的慢查询日志和错误日志
http://www.vxiaotou.com