当前位置: 首页 > 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…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​,覆盖应用全生命周期测试需求,主要提供五大核心能力: ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

C++八股 —— 单例模式

文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性&#xf…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象,只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意:它移动的位置必须是相连的有内容的单元格…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

django blank 与 null的区别

1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...

在 Visual Studio Code 中使用驭码 CodeRider 提升开发效率:以冒泡排序为例

目录 前言1 插件安装与配置1.1 安装驭码 CodeRider1.2 初始配置建议 2 示例代码:冒泡排序3 驭码 CodeRider 功能详解3.1 功能概览3.2 代码解释功能3.3 自动注释生成3.4 逻辑修改功能3.5 单元测试自动生成3.6 代码优化建议 4 驭码的实际应用建议5 常见问题与解决建议…...

用js实现常见排序算法

以下是几种常见排序算法的 JS实现,包括选择排序、冒泡排序、插入排序、快速排序和归并排序,以及每种算法的特点和复杂度分析 1. 选择排序(Selection Sort) 核心思想:每次从未排序部分选择最小元素,与未排…...

PostgreSQL 与 SQL 基础:为 Fast API 打下数据基础

在构建任何动态、数据驱动的Web API时,一个稳定高效的数据存储方案是不可或缺的。对于使用Python FastAPI的开发者来说,深入理解关系型数据库的工作原理、掌握SQL这门与数据库“对话”的语言,以及学会如何在Python中操作数据库,是…...