当前位置: 首页 > news >正文

MySQL OCP888题解046-哪些语句会被记录到binlog

文章目录

  • 1、原题
    • 1.1、英文原题
    • 1.2、中文翻译
    • 1.3、答案
  • 2、题目解析
    • 2.1、题干解析
    • 2.2、选项解析
  • 3、知识点
    • 3.1、知识点1:binlog_format选项
    • 3.2、知识点2:Performance Schema(性能模式)
  • 4、总结

1、原题

1.1、英文原题

You enable binary logging on MySQL Server with the configuration:
binlog-format=STATEMENT
log-bin
Which database updates are logged on the master server to the binary log by default?
A、all updates except to the TEMPDB database
B、all updates except to the PERFORMANCE_SCHEMA database
C、all updates not involving temporary tables
D、all updates to the default database, except temporary tables
E、all updates to all database

1.2、中文翻译

您可以使用以下配置在MySQL Server上启用二进制日志记录:
binlog-format=STATEMENT
log-bin
默认情况下,哪些数据库更新记录在主服务器上的二进制日志中?
A、 除TEMPDB数据库外的所有更新
B、 除PERFORMANCE_SCHEMA数据库外的所有更新
C、 所有不涉及临时表的更新
D、 默认数据库的所有更新,临时表除外
E、 所有数据库的所有更新

1.3、答案

B

2、题目解析

2.1、题干解析

本题主要考察MySQL二进制日志的记录内容和性能模式。

2.2、选项解析

  1. 因为配置的是基于语句的二进制日志更新,所以临时表的更新语句也会被记录到二进制日志。如果是基于行的二进制日志,则临时表的更新语句不会被记录。所以选项A、C、D错误。
  2. 性能模式事件是特定于MySQL服务器的一个特定实例的。性能模式表被认为是服务器的本地表,对它们的更改不会被复制或写入二进制日志。所以选项B正确。选项E错误。

3、知识点

3.1、知识点1:binlog_format选项

  • binlog_format的值为MIXED时,会使用基于语句的复制,除非是只有基于行的复制才能保证得到正确的结果的情况。例如,当语句包含可加载函数或UUID()函数时,就会出现这种情况。
  • 每台MySQL服务器可以设置它自己的、并且只设置它自己的二进制日志格式,这意味着改变复制源服务器上的日志格式不会导致副本改变其日志格式来匹配。
  • 一个副本不能将收到的ROW日志格式的二进制日志条目转换为STATEMENT格式用于自己的二进制日志。因此,当源文件仍在使用MIXED或ROW格式时,将副本上的二进制日志格式改为STATEMENT格式也会导致相同类型的复制失败。你必须确保在源和副本上做同样的改变。
  • 在二进制日志格式设置为ROW的情况下,许多变化是使用基于行的格式写入二进制日志的。然而,有些变化仍然使用基于语句的格式。例子包括所有的DDL(数据定义语言)语句,如CREATE TABLE, ALTER TABLE, 或DROP TABLE。

官方参考文档
官方参考文档

3.2、知识点2:Performance Schema(性能模式)

MySQL性能模式是一种在低水平上监测MySQL服务器执行情况的功能。性能模式有这些特点。

  • 性能模式提供了一种在运行时检查服务器内部执行的方法。它是通过PERFORMANCE_SCHEMA存储引擎和performance_schema数据库实现的。性能模式主要关注的是性能数据。这与INFORMATION_SCHEMA不同,后者的作用是检查元数据。
  • 性能模式监控服务器事件。一个 "事件 "是指服务器所做的任何需要时间的事情,并且已经被仪器化,从而可以收集时间信息。一般来说,一个事件可以是一个函数调用,操作系统的等待,SQL语句执行的一个阶段,如解析或排序,或整个语句或语句组。事件收集提供了对服务器和几个存储引擎的同步调用(如对互斥)文件和表I/O、表锁等信息的访问。性能模式事件与写入服务器二进制日志的事件(描述数据修改)和事件调度器事件(属于存储程序的一种)不同。
  • 性能模式事件是特定于MySQL服务器的一个特定实例的。性能模式表被认为是服务器的本地表,对它们的更改不会被复制或写入二进制日志。
  • 性能模式的配置可以通过SQL语句更新performance_schema数据库中的表来动态地修改。配置的改变会立即影响数据的收集。
  • 性能模式中的表是内存表,不使用持久的磁盘存储。其内容从服务器启动时开始重新填充,在服务器关闭时被丢弃。

性能模式的目的是提供对服务器执行的有用信息的访问,同时对服务器性能的影响最小。该实现遵循这些设计目标。

  • 激活性能模式不会导致服务器行为的改变。例如,它不会导致线程调度的改变,也不会导致查询执行计划(如EXPLAIN所示)的改变。
  • 服务器监控持续地、不引人注意地发生,而且开销非常小。激活性能模式并不会使服务器无法使用。
  • 即使性能模式在内部失败,服务器代码的执行也会正常进行。

MySQL的sys模式是一组对象,它提供了对性能模式所收集的数据的方便访问。在MySQL 5.7中,sys模式是默认安装的。

官方参考文档

4、总结

  1. MySQL的二进制日志设置为STATEMENT(语句)模式时,会将临时表的更新语句也记录下来。设置为ROW(行)模式时,由于不涉及磁盘数据更改,就不会记录临时表的更新语句。设置为MIXED模式时,大部分情况下仍然会用语句模式,只有少量用语句模式无法记录真实更改时会使用行模式,比如设计UUID(每次都不一样,必须记录更改的值)。
  2. MySQL的performance_schema性能模式的表是内存表,不使用持久的磁盘存储,对性能模式的更改不会被写入二进制日志。
  3. 性能模式的目的是提供对服务器内部执行情况的检查,他对MySQL服务器的性能影响很小,也不会改变内部任何执行行为。
  4. sys模式相当于性能模式的视图,但是sys模式更易用和简单。

相关文章:

MySQL OCP888题解046-哪些语句会被记录到binlog

文章目录1、原题1.1、英文原题1.2、中文翻译1.3、答案2、题目解析2.1、题干解析2.2、选项解析3、知识点3.1、知识点1:binlog_format选项3.2、知识点2:Performance Schema(性能模式)4、总结1、原题 1.1、英文原题 You enable binary logging on MySQL S…...

【前端学习】D5:CSS进阶

文章目录前言系列文章目录1 精灵图Sprites1.1 为什么需要精灵图?1.2 精灵图的使用2 字体图标iconfont2.1 字体图标的产生2.2 字体图标的优点2.3 字体文件格式2.4 字体图标的使用2.5 字体图标的引入2.6 字体图标的追加3 CSS三角3.1 普通三角3.2 案例4 CSS用户界面样式…...

【bioinfo】融合检测软件FusionMap分析流程和报告结果

文章目录写在前面FusionMap融合检测原理FusionMap与其他软比较FusionMap分析流程FusionMap结果文件说明FusionMap mono CUP设置图片来源: https://en.wikipedia.org/wiki/Fusion_gene写在前面 下面主要内容是关于RNA-seq数据分析融合,用到软件是FusionMap 【Fusion…...

C++基础了解-17-C++日期 时间

C日期 & 时间 一、C日期 & 时间 C 标准库没有提供所谓的日期类型。C 继承了 C 语言用于日期和时间操作的结构和函数。为了使用日期和时间相关的函数和结构,需要在 C 程序中引用 头文件。 有四个与时间相关的类型:clock_t、time_t、size_t 和 …...

MOV压敏电阻的几种电路元件功能及不同优势讲解

压敏电阻,通常是电路为防护浪涌冲击电压而使用的一种电子元器件,相比其他的浪涌保护器来说,也有那么几个不一样的优势,那么,具体有哪些?以及关于它的作用,你都知道吗?以下优恩小编为…...

uniapp+uniCloud实战项目报修小程序开发

前言 本项目基于 uniapp uniCloud 云开发,简单易用,逻辑主要是云数据库的增删查改,页面大部分自写,部分使用uniUI, uView 组件库。大家可用于学习或者二次开发,有什么不懂的地方可联系 wechat:MrYe443。用…...

演唱会的火车票没了?Python实现12306查票以及zidong购票....

嗨害大家好!我是小熊猫~ 不知道大家抢到演唱会的门票没有呢? 不管抢到没有,火车票也是很重要的哇 24小时抢票不间断的那种喔~ ~ ~ 不然可就要走路去了喔~ 准备工作 环境 Python 3.8Pycharm 插件 谷歌浏览器驱动 模块 需要安装的第三方模块&am…...

Linux发行版本与发行版的简单的介绍

Linux linux下有很多发行的版本,或者称之为魔改版本。以下介绍一些常见的版本,以避免名词的混淆。 linux是提供了一个内核,就像是谷歌的内核一样,QQ浏览器就是使用的谷歌的内核,也算是一个发行版本。 Ubuntu&#x…...

前后端分离项目学习-vue+springboot 博客

前后端分离项目 文章总体分为2大部分,Java后端接口和vue前端页面 项目演示:www.markerhub.com:8084/blogs Java后端接口开发 1、前言 从零开始搭建一个项目骨架,最好选择合适,熟悉的技术,并且在未来易拓展&#xf…...

关于指针运算的一道题

目录 刚看到这道题的时候我也和大多数小白一样感到无从下手,但是在我写这篇博客的前几分钟开始我对这道题有了一点点的理解。所以我就想着趁热打铁,写一篇博客来记录一下我的想法。 题目如下: 画图: 逐一解答: 题一…...

【论文简述】Learning Optical Flow with Kernel Patch Attention(CVPR 2022)

一、论文简述 1. 第一作者:Ao Luo 2. 发表年份:2022 3. 发表期刊:CVPR 4. 关键词:光流、局部注意力、空间关联、上下文关联 5. 探索动机:现有方法主要将光流估计视为特征匹配任务,即学习在特征空间中将…...

Java学习-MySQL-列的数据类型

Java学习-MySQL-列的数据类型 数值 tinyint - 1个字节smallint - 2个字节mediumint - 3个字节int - 4个字节bigint - 8个字节float - 4个字节double - 8个字节decimal - 字符串形式的浮点数 字符串 char - 0~255varchar - 可变字符串 0~65535tinytext - 微型文本 2^8-1text…...

终端配色-Docker容器终端

20230309 - 0. 引言 平时使用SSH,通常都是使用securecrt来用,毕竟也算是之前windows下一种使用的工具,在mac下使用还算方便;进入终端后,可以通过调整配色来调整编程环境。平时经常使用屎黄色的那种配色,毕…...

SQL基础培训04-插入数据

知识点: 假设有订单表 CREATE TABLE SEOrder ( FID int identity(...

Apache HTTP Server <2.4.56 mod_proxy 模块存在请求走私漏洞(CVE-2023-25690)

漏洞描述 Apache HTTP Server是一款Web服务器。 该项目受影响版本存在请求走私漏洞。由于intro.xml中存在RewriteRule配置不当,当Apache启用mod_proxy且配置如 RewriteRule “^/here/(.*)” " http://example.com:8080/elsewhere?$1"; http://example.…...

SpringBoot 集成 elasticsearch 7.x和对应版本不一致异常信息处理

开源框架springboot框架中集成es。使用org.springframework.data.elasticsearch下的依赖,实现对elasticsearch的CURD,非常方便,但是springboot和elasticsearch版本对应很严格,对应版本不统一启动会报错。 文章目录开源框架Elasticsearch 7.x安装Elastics…...

求职季必看系列:Java如何高效面试?

先看看这些java高频的面试重点吧 ​ 以下是初级程序员面试经常问到的问题: ■ Spring的三大特性是什么? ■ Spring IOC和AOP 你是如何理解并且使用的? ■ 说一下ElasticSearch为什么查询的快?是如何存储的?在项目中…...

点云分割预研

文章目录激光雷达点云分割1.点云分割主流方案(模型角度)1.1 (a) 基于RGB-D图像1.2 (d) 基于点云1.3 (b) 基于投影图像1.4 (b) 基于投影图像 - SqueezeSeg/RangeNet1.4. 球映射2 点云分割主流方案(部署角度)3 点云分割常用指标4 点…...

【数据结构】栈和队列 (栈 栈的概念结构 栈的实现 队列 队列的概念及结构 队列的实现 栈和队列面试题)

文章目录前言一、栈1.1 栈的概念结构1.2栈的实现二、队列2.1队列的概念及结构2.2队列的实现三、栈和队列面试题总结前言 一、栈 1.1 栈的概念结构 栈也是一种线性表,数据在逻辑上挨着存储。只允许在固定的一端进行插入和删除元素。进行插入和删除操作的一端叫栈顶…...

Moonbeam生态说|解读2023年Web3发展的前景和亮点

「Moonbeam生态说」是Moonbeam中文爱好者社区组织的社区AMA活动。该活动为媒体和已部署Moonriver或Moonbeam的项目方提供了在主流Moonbeam非官方中文社区内介绍自己的项目信息,包括:项目介绍、团队介绍、技术优势和行业发展等,帮助社区内的Mo…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象&#xff1a;mysql已经安装&#xff0c;但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时&#xff0c;可能是因为以下几个原因&#xff1a;1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...