IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Mysql 5.7开启binlog日志 -> 正文阅读

[大数据]Mysql 5.7开启binlog日志

Mysql 5.7开启binlog日志

前言

binlog是MySQL的二进制日志,并且是MySQL中最重要的日志。binlog记录了对MySQL数据库执行更改的所有操作,包括对数据库表结构的变更,对数据的变更,例如CREATE、ALTER TABLE、INSERT、UPDATE、DELETE…,但是不会记录查询语句select。需要注意的是,如果是update操作,即使是没有数据更新,也会记录在binlog日志中,binlog日志是以事件形式记录,并且还包含语句所执行的消耗时间。

查看binlog是否开启

show variables like '%log_bin%';

开启binlog

修改mysql配置文件

[mysqld]
log-bin=mysql-bin
server_id=1

重新启动mysql

windows系统
net stop mysql   # 停止mysql服务
net start mysql  # 启动mysql服务
Linux系统
service mysql stop # 停止mysql服务
service mysql start # 启动mysql服务
service mysql restart   # 重启mysql服务

扩展

应用

  1. 主从复制

    master端开启binlog,master把二进制日志传递给slaves来达到master-slave数据保持一致。

  2. 数据恢复

    可以通过mysqlbinlog工具解析binlog来恢复数据。

binlog日志常用命令

  1. 查看所有的binlog日志列表

    show master logs;
    
  2. 查看master状态,即最后一个binlog日志的编号名称,及其最后一个操作时间pos结束点值

    show master status;
    
  3. flush刷新binlog日志,此刻之后会产生一个新编号的binlog日志文件

    flush logs;
    

bin-log日志存放地址

binlog存放在/var/lib/mysql里面的,如果是docker,则在相应的映射目录

image-20220911001502484

配置存放位置、过期时间

在MySQL配置文件my.cnf或者my.ini中[mysqld]标签内修改

# 配置定时清理
expire_logs_days = 5
# 配置修改后的日志路径
log-bin=/home/logs/mysql-bin

配置每个日志文件的大小

在MySQL配置文件my.cnf或者my.ini中[mysqld]标签内修改

# binlog每个日志文件大小
max_binlog_size = 100m

binlog格式

# binlog日志格式,MySQL默认采用的是STATEMENT,建议使用MIXED
binlog_format = MIXED
  1. STATEMENT模式(SBR)

    基于SQL语句的复制(statement-based replication),每一条会修改数据的sql语句都会记录到binlog中。

    优点:

    1. 不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能

    缺点:

    1. 某些情况会导致master-slave中的数据不一致,例如sleep(),last_insert_id()等
  2. ROW模式(RBR)

    基于行的复制(row-based replication),不记录每条sql语句的上下文信息,仅记录哪条数据被修改了,修改成什么样。

    优点:

    1. 任何情况都可以复制,并且不会出现特定情况下存储过程、function等调用或者触发无法被正确复制的问题

    缺点:

    1. binlog日志文件会非常大
    2. master上执行update语句时,所有变化都会写到binlog里面,SBR只会写一次,所以会导致频繁发生binlog的并发写问题
  3. MIXED模式

    上面两种模式的混合使用,一般的复制使用STATEMENT模式保存binlog,对于STATEMENT模式无法复制的操作使用ROW模式保存binlog,MySQL会根据执行的SQL语句选择日志保存方式。

如有侵权请立即与我们联系,我们将及时处理,联系邮箱:865934097@qq.com。

原文链接: https://monkey.blog.xpyvip.top/archives/Mysql57开启binlog日志

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:22:42  更:2022-09-13 11:23:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:18:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码