mysql数据库如何开启binlog日志

首先我们要知道什么是binlog日志

binlog

MySQL数据库的二进制日志文件,记录了数据库更改的所有操作,但不包括SELECT和SHOW这类操作,这些操作对数据进行修改、管理操作、数据库修改等操作都会被记录在日志中。

对于一个sql,它常常被分为以下几种类型:

  1. DDL:Data Definition Language,数据定义语言

    1. 用来操作数据库、表、列等,比如 CREATE、ALTER、DROP

  2. DML:Data Manipulation Language,数据操作语言

    1. 用来操作表里的数据,比如 INSERT、UPDATE、DELETE

  3. DCL:Data Control Language,数据控制语言

    1. 用来操作访问权限等,比如 GRANT

  4. DQL:Data Query Language,数据查询语言

    1. 用来查询数据,比如 SELECT

  5. TCL:Transaction Control Language,事务控制语言

    1. 用于数据库的事务管理,比如 COMMIT,ROLLBACK

(binlog是不会记录查询操作的)

接下来我看先查看一下当前数据库是否已经开启:

  1. 我们可以通过以下命令查询binlog日志的开关是否开启,以及日志的存储位置        
    1. show variables like '%log_bin%';
  2. 执行上面的sql会得到下面结果

  3. 其主要字段含义分别如下:

    1. log_bin 表示是否开启 binlog(ON开启,OFF关闭)

    2. log_bin_basename 表示的是 binlog 所在的文件夹,在后面我们查看 binlog 具体内容的时候,会需要进入到这个文件夹进行查看。
    3. log_bin_index 表示的是 binlog 的索引文件,我们可以在其中找到所有的 binlog 日志
    4. log_bin_trustfunctioncreators是一个全局系统变量,主要影响MySQL对存储函数创建、修改权限的控制以及这些函数在二进制日志记录中的行为
      1. 在默认设置下(log_bin_trust_function_creators=OFF),创建或修改存储函数的用户不仅需要拥有常规的CREATE ROUTINE或ALTER ROUTINE权限,还需要额外的SUPER特权。这是因为存储函数如果未被声明为确定性(DETERMINISTIC)或明确表示不修改数据(通过NO SQL或READS SQL DATA特性),则可能存在对复制和数据恢复不利的行为,如产生不可重复的结果或执行非预期的更新操作。为了保障数据一致性,MySQL对此类操作施加了严格的权限要求。

      2. 当设置log_bin_trust_function_creators=ON 时,这一严格要求被放宽。用户无需具备SUPER特权也能创建或修改存储函数,即使这些函数没有明确声明为确定性或不修改数据。这种设置下,MySQL假设函数创建者了解并能够确保他们所创建的函数对复制环境是安全的,从而降低了权限门槛。

      3. 关于log_bin_trustfunctioncreators更多详细内容请参考博客:深入理解MySQL中的log_bin_trust_function_creators系统变量_log-bin-trust-function-creators-CSDN博客

    5. log_bin_use_v1_row_events: on 表示使用版本1二进制日志行,off 表示使用版本2二进制日志行
    6. sql_log_bin 用于主从复制,这个参数关闭后,主库的改动不会记录到 binlog,不会复制到从库
  4. 要想开启binlog日志,需要在/etc/my.cnf文件中加入以下内容
log-bin=mysql-bin  # 确认是打开状态,并指定存储日志位置
server-id=1  # MySQL将其视为一个正常的从服务器,并对其进行正常的主从复制操作。
binlog_format=row  # DDL 时是明文,DML是加密的
expire-logs-days=20 # 指定日志文件保留天数

最后重启MySQL

systemctl restart mysqld

           

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1534166.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Qt-QPushButton按钮类控件(22)

目录 描述 使用 给按钮添加图片 给按钮添加快捷键 添加槽函数 添加快捷键 添加组合键 开启鼠标的连发功能 描述 经过上面的一些介绍,我们也尝试的使用过了这个控件,接下来我们就要详细介绍这些比较重要的控件了 使用 给按钮添加图片 我们创建…

在线IP代理检测:保护您的网络安全

在互联网飞速发展的今天,越来越多的人开始意识到网络安全和隐私保护的重要性。在线IP代理检测工具作为一种有效的网络安全手段,能够帮助用户识别和检测IP代理的使用情况,从而更好地保护个人隐私和数据安全。本文将详细介绍在线IP代理检测的相…

最好用的翻译器:什么是DeepL?如何订阅支付DeepL,订阅DeepL Pro以及申请DeepL API?

DeepL目前最好用的翻译软件,如果是学习翻译的同学或者海外客户翻译,一定不能错过,用它来处理文件,论文等翻译是最好不过了的!!! AI翻译技术的飞速发展正在颠覆我们的沟通方式,打破语…

预测日前电价:回顾最先进的算法、最佳实践和公开基准——阅读笔记

Forecasting day-ahead electricity prices: A review of state-of-the-art algorithms, best practices and an open-access benchmark 预测日前电价:回顾最先进的算法、最佳实践和公开基准 Applied Energy (2021) 摘要:电价预测在过去二十年间已经得到…

【pycharm】安装以及简单使用教程

以windows版本举例: 1、首先去Pycharm官网,或者直接输入网址:http://www.jetbrains.com/pycharm/download/#sectionwindows,下载PyCharm安装包,根据自己电脑的操作系统进行选择,对于windows系统选择下图的…

苹果CMS影视程序被举报侵权?有效解决方案指南

在当今数字时代,影视版权问题成为了许多网站面临的主要挑战。如果你使用苹果CMS进行影视内容管理,可能会遇到版权举报的问题。幸运的是,有一种有效的解决方案可以帮助你应对这些挑战——苹果CMS插件,它能够屏蔽原视频内容&#xf…

网络药理学:2、文章基本思路、各个数据库汇总与比对、其他相关资料(推荐复现的文章、推荐学习视频、论文基本框架、文献基本知识及知网检索入门)

一、文章基本思路(待更) 一篇不含分子对接和实验的纯网络药理学文章思路如下: 即如下: 二、 各个数据库(待更) 三、其他相关资料 1.推荐复现的文章 纯网络药理学分子对接:知网&#xff1…

《C++》解密--顺序表

一、线性表 线性表是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈...... 线性表在【逻辑上】是线性结构…

单调队列的实现

这是C算法基础-数据结构专栏的第二十五篇文章,专栏详情请见此处。 引入 单调队列就是满足单调性的队列,它最经典的应用就是给定一个序列和一个窗口,使窗口在序列中从前向后滑动,求出窗口在每个位置时,其中元素的最大/小…

STM32启用FPU浮点运算

这篇文章产生背景:其他人的文章太杂了,对我这种菜鸡无法接受; 参考文章: stm32h743单片机嵌入式学习笔记7-FPU_stmh743vit4-CSDN博客 stm32F407 打开 FPU(浮点运算处理器)_stm32f407开启fpu-CSDN博客 STM32F4CubeMXHal库下使能…

第J1周:ResNet-50算法实战与解析

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 文章目录 一、前期工作1、ResNet-50总体结构2、设置GPU3、导入数据 二、数据预处理1、加载数据2、可视化数据3、再次检查数据4、配置数据集 三、构建ResNet-50…

初级练习[2]:Hive SQL查询汇总分析

目录 SQL查询汇总分析 成绩查询 查询编号为“02”的课程的总成绩 查询参加考试的学生个数 分组查询 查询各科成绩最高和最低的分 查询每门课程有多少学生参加了考试(有考试成绩) 查询男生、女生人数 分组结果的条件 查询平均成绩大于60分的学生的学号和平均成绩 查询至少…

基于python+django+vue的农业管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于pythondjangovueMySQL的农…

C++ push_back和emplace_back的区别

基本类型情况西&#xff0c;两者几乎没什么区别 但是再自定义类型的时候&#xff1f;emplace——back更高效&#xff0c;但是emplace_back 没有类型检查的安全&#xff1b;只有运行时候才会报错。 #include <vector> #include <iostream> using namespace std; …

基于 CycleGAN 对抗网络的自定义数据集训练

目录 生成对抗网络&#xff08;GAN&#xff09; CycleGAN模型训练 训练数据生成 下载开源项目CycleGAN 配置训练环境 开始训练 模型测试 可视化结果 生成对抗网络&#xff08;GAN&#xff09; 首先介绍一下什么是GAN网络&#xff0c;它是由生成器&#xff08;Generator…

分类预测|基于差分优化DE-支持向量机数据分类预测完整Matlab程序 DE-SVM

分类预测|基于差分优化DE-支持向量机数据分类预测完整Matlab程序 DE-SVM 文章目录 一、基本原理DE-SVM 分类预测原理和流程总结 二、实验结果三、核心代码四、代码获取五、总结 一、基本原理 DE-SVM 分类预测原理和流程 1. 差分进化优化算法&#xff08;DE&#xff09; 原理…

【运维监控】Prometheus+grafana监控tomcat运行情况

运维监控系列文章入口&#xff1a;【运维监控】系列文章汇总索引 文章目录 一、prometheus二、grafana三、tomcat与jmx_exporter配置1、下载jmx_exporter2、部署jmx_exporter3、添加tomcat的配置信息4、修改tomcat的启动文件5、重启tomcat及验证6、其他 四、集成prometheus与gr…

vue3 动态 svg 图标使用

前言 在做后台管理系统中,我们经常会用到很多图标,比如左侧菜单栏的图标 当然这里 element-ui 或者 element-plus 组件库都会提供图标 但是在有些情况下 element-ui 或者 element-plus 组件库提供的图标满足不了我们的需求时,这个时候我们就需要自己去网上找一些素材或者…

CAN通讯常见错误

CAN通讯常见错误 1.在使用CAN设备进行数据通讯时&#xff0c;有时候参数配置不当可能就会导致通讯的失败&#xff0c;如下图1所示&#xff0c;出现通信错误的原因是两个设备的波特率配置不一致导致。 图1 2.有时候在配置参数的时候&#xff0c;不能只关注波特率速度配置一致…

JEE 设计模式

Java 数据访问对象模式 Java设计模式 - 数据访问对象模式 数据访问对象模式或DAO模式将数据访问API与高级业务服务分离。 DAO模式通常具有以下接口和类。 数据访问对象接口定义模型对象的标准操作。 数据访问对象类实现以上接口。可能有多个实现&#xff0c;例如&#xff0c…