广告
返回顶部
首页 > 资讯 > 数据库 >Mysql 5.7开启binlog日志
  • 920
分享到

Mysql 5.7开启binlog日志

mysql数据库sql 2023-08-16 19:08:35 920人浏览 安东尼
摘要

Mysql 5.7开启binlog日志 前言 binlog是mysql的二进制日志,并且是Mysql中最重要的日志。binlog记录了对MySQL数据库执行更改的所有操作,包括对数据库表结构的变更,对数据的变更,例如CREATE、ALT

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-binserver_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,建议使用MIXEDbinlog_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日志

来源地址:https://blog.csdn.net/baidu_23966735/article/details/126805045

您可能感兴趣的文档:

--结束END--

本文标题: Mysql 5.7开启binlog日志

本文链接: https://www.lsjlt.com/news/371960.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Mysql 5.7开启binlog日志
    Mysql 5.7开启binlog日志 前言 binlog是MySQL的二进制日志,并且是MySQL中最重要的日志。binlog记录了对MySQL数据库执行更改的所有操作,包括对数据库表结构的变更,对数据的变更,例如CREATE、ALT...
    99+
    2023-08-16
    mysql 数据库 sql
  • 开启MySQL的binlog日志
    1.判断MySQL是否已经开启binlog SHOW VARIABLES LIKE 'log_bin'; 查看MySQL的binlog模式  show global variables like "binlog%"; 几个...
    99+
    2023-10-23
    mysql 数据库
  • 怎么开启MySQL的binlog日志
    小编给大家分享一下怎么开启MySQL的binlog日志,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!binlog 就是binar...
    99+
    2022-10-18
  • 开启MySQL二进制日志(binlog)
    前言 binlog即二进制日志 Binary Log,它记录了所有的DDL和DML(除了数据查询语句)语句,以事件形式记录,还包含语句所执行的消耗的时间,MySQL的二进制日志是事务安全型的。一般来说...
    99+
    2023-09-22
    mysql 数据库
  • 如何开启MySQL的binlog日志
    这篇文章将为大家详细讲解有关如何开启MySQL的binlog日志,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操...
    99+
    2023-06-14
  • 开启MySQL的binlog日志的方法步骤
    binlog 就是binary log,二进制日志文件,这个文件记录了mysql所有的dml操作。通过binlog日志我们可以做数据恢复,做主住复制和主从复制等等。对于开发者可能对binlog并不怎么关注,但是对于运...
    99+
    2022-05-12
    开启MySQL binlog日志 MySQL binlog开启
  • mysql日志文件General_log和Binlog开启及详解
    目录背景:General_log 详解1.介绍2.开启数据库general_log步骤Binlog 详解1.介绍2.开启binlog日志3.常用binlog日志操作命令4.mysqlbinlog命令使用5.binlog的...
    99+
    2022-07-11
    mysql general_log MySQL 日志文件 binlog日志记录格式
  • 【mysql】binlog日志
    目录 1.1 基本说明1.2 binlog日志格式1.3 binlog日志查看1.4 binlog日志删除1.5 binlog操作示例 1.1 基本说明 1....
    99+
    2023-09-01
    mysql 数据库 sql
  • 如何在mysql中启用Binlog日志
    如何在mysql中启用Binlog日志?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、一般来说开启binlog日志大概会有1%的性能损耗。启用binlog,通...
    99+
    2023-06-15
  • MySQL 的日志:binlog
    前言:binlog 用于记录数据库执行写入性操作的日志信息,以二进制的形式保留在磁盘中。它是由 Server 层进行记录的,使用任何存储引擎都会产生 binlog。 实验准备 我们通过 Docker 来对 MySQL binlog 进...
    99+
    2019-08-01
    MySQL 的日志:binlog
  • MySQL日志-二进制日志(Binlog)
    MySQL有下面几个不同的日志文件,可以帮助你找出mysqld内部发生的事情: 日志文件 ...
    99+
    2022-10-18
  • docker开启mysql的binlog日志解决数据卷问题
    目录前言1、通过数据卷的方式开启一个mysql镜像2、连接mysql并进行测试3、开启bin_log4、重启mysql镜像5、创建一个数据库并在里面创建一个表加一条数据结语前言 在开...
    99+
    2022-11-13
  • Mysql清理binlog日志
    mysql> show binary logs; +------------------+------------+ | Log_name         | File_size  | +------------------+--...
    99+
    2021-08-24
    Mysql清理binlog日志
  • Mysql之binlog日志浅析
    一、binlog日志简介   Binlog是MySQL数据库中的二进制日志,用于记录数据库中所有修改操作,包括增删改等操作。binlog以二进制格式保存,可以通过解析binlog文件来查看数据库的操作...
    99+
    2023-09-23
    mysql binlog 数据库 binlog日志 三种日志模式
  • Mysql开启日志功能
    mysql开启日志功能 mysql日志介绍 mysql有以下几种日志: 错误日志: -log-err 查询日志: -log 慢查询日志: -log-slow-queries 更新日志: -log-update 二进制日志: -log-bin...
    99+
    2016-03-05
    Mysql开启日志功能
  • mysql中开启binlog
    一、binlog是啥 binlog是mysql自带的记录日志,可用于数据库操作查看,集群间的数据同步等。 二、如何开启 找到mysql安装目录,打开目录下的my.ini文件。内容如下(截取部分): [client]port=3306[mys...
    99+
    2023-08-16
    mysql
  • mysql怎么关闭binlog日志
    可以通过以下步骤来关闭MySQL的binlog日志:1. 使用root用户登录MySQL服务器。2. 执行以下命令来查看当前的bin...
    99+
    2023-09-22
    mysql
  • MySQL安全删除binlog日志
    MySQL安全删除binlog日志 文章目录 MySQL安全删除binlog日志1. 查看主库和从库正在使用的binlog是哪个文件2. 查看二进制日志3. 查询binlog日志4. 安全清...
    99+
    2023-10-24
    mysql 数据库
  • mysql-清除binlog日志命令
    记录一个清除MySQL里binlog日志的命令,可用在定时任务脚本里。 只保留1天前的日志: PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 1 DAY)...
    99+
    2017-09-19
    mysql-清除binlog日志命令
  • MySQL的binlog日志是什么
    小编给大家分享一下MySQL的binlog日志是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!binlog 基本认识MySQL的二进制日志可以说是MySQL最重要的日志了,它记录了所有的D...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作