MySQL 8.0 开关 Redo Logging

一 前言

前几天有客户测试使用云数据库的时候提出 要禁止mydumper 关闭redo log的操作 (说白了就是导入数据时保持MySQL 实例的redo logging功能), 这才想起 在 MySQL 8.0.21 版本中,开启了一个新特性 “Redo Logging 动态开关”

在新实例导数据的场景下,通过关闭 redo logging ,写入操作的事务可以跳过记录 redo日志和 doublewrite buffer,从而加快导入数据的速度。但是也有负面作用付出的代价是短时间牺牲了数据库的ACID保障。

官方文档特别强调该功能不能使用在生产环境,仅仅用于新实例的加速 数据导入,不知道客户之前经历了什么,特别强调支不支持禁用这个功能。

官方文档如是说:

As of MySQL 8.0.21, you can disable redo logging using the 
ALTER INSTANCE DISABLE INNODB REDO_LOG statement. 
This functionality is intended for loading data into a new MySQL instance. 

既然官方说了不建议在生产库使用,我们就学习一下吧,万一以后用的着呢。。

二 介绍

2.1

为了支持 redo logging 开关功能 ,MySQL 增加新的 SQL语法:

ALTER INSTANCE {ENABLE/DISABLE } INNODB REDO_LOG。

具备 INNODB_REDO_LOG_ENABLE 权限的用户,才能被允许执行 Redo Logging 动态开关的操作,所以如果需要禁用该操作,可以通过控制用户的权限,云数据库实例应该不会开放该权限,但是自建的数据库的 具有super权限的用户就不好控制了。

新增状态值 Innodb_redo_log_enabled ,用于显示当前 Redo Logging 开关状态。

2.2 纸上来得终觉浅

为用户赋权

GRANT INNODB_REDO_LOG_ENABLE ON . to the_bad_gay;

关闭redo logging

检查redo logging是否成功关闭

导数据

重新开启redo logging

ALTER INSTANCE ENABLE INNODB REDO_LOG;

确认redo logging状态

SHOW GLOBAL STATUS LIKE 'Innodb_redo_log_enabled';

2.3 使用限制
  1. 开关 Redo Logging 执行过程中获取 排他模式的 backup metadata lock,故不支持其他并发的 ALTER INSTANCE 操作;

  2. Redo logging关闭状态下,不支持cloning operations和redo log archiving这两个功能;

  3. Redo logging关闭状态下,支持正常流程的关闭和重启实例;但在异常宕机情况下,可能会导致丢数据和页面损坏;Redo logging关闭后异常宕机的实例需要废弃重建,直接重启会有如下报错:

    [ERROR] [MY-013578] [InnoDB] Server was killed when Innodb Redo logging was disabled. Data files could be corrupt. You can try to restart the database with innodb_force_recovery=6.

三 总结:

写这篇文章的时候,搜集了一下 资料发现, mydumper 紧跟 MySQL 8.0 的技术发展,再新的版本中 增加了新的参数 --disable-redo-log Disables the REDO_LOG and enables it after, doesn't check initial status.

对于客户的诉求,我估计是有人在生产库使用 mydumper 导入数据时,加上了上面的参数,导致了一些列的故障。

学习新技术,用不好的话, 也不是什么好事儿。 have fun with your MySQL instance

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三坐标测量机的应用场景及其国产化的重要意义

三坐标测量机广泛应用于制造业和工程领域,测量工件在三维空间中的尺寸、形状和位置,对工件进行精确的测量和检测。它具有高精度、高效率和自动化程度高的优点。 应用场景 1、汽车制造领域 在汽车生产过程中,需要对零部件的精度和质量进行检…

Sonarqube安装(Docker)

一,拉取相关镜像并运行 # 拉取sonarqube镜像 docker pull sonarqube:9.1.0-community在运行之前要提前安装postgres并允许,新建数据库名为sonar的数据库 Docker安装postgres教程 docker run -d --name sonarqube --restartalways \ -p 19000:9000 \ …

AI提示词入门教程

AI提示词的基本原则与技巧 文章目录 AI提示词的基本原则与技巧前言原则1: 尽可能保证下达的指令“清晰、没有歧义”使用分隔符清楚地指示输入地不同部分要求结构化地输出让模型检查是否满足条件少样本提示 原则2:给AI思考的时间,以及完成任务…

某后台管理系统加密参数逆向分析

前言 在我们日常的渗透中经常会遇到开局一个登录框的情况,弱口令爆破当然是我们的首选。但是有的网站会对账号密码等登录信息进行加密处理,这一步不由得阻碍了很多人的脚步。前端的加解密是比较常见的,无论是 web 后台还是小程序&#xff0c…

OpenAI ChatGPT-4开发笔记2024-02:Chat之text completion

API而已 大模型封装在库里,库放在服务器上,服务器放在微软的云上。我们能做的,仅仅是通过API这个小小的缝隙,窥探ai的奥妙。从程序员的角度而言,水平的高低,就体现在对openai的这几个api的理解程度上。 申…

JavaWeb基础(2)- Web概述、HTTP协议、Servlet、Request与Response

JavaWeb基础(2)- Web概述、HTTP协议、Servlet、Request与Response 文章目录 JavaWeb基础(2)- Web概述、HTTP协议、Servlet、Request与Response3 Web概述3.1 Web和JavaWeb的概念3.2 JavaWeb技术栈3.2.1 B/S架构**3.2.2 静态资源**3…

6 网关和配置服务器

文章目录 网关模式Spring Cloud网关Spring Cloud网关微服务其他项目的变更运行和测试小结 运行状况Spring Boot Actuator在微服务中包含Actuator 服务发现和负载均衡ConsulSpring Cloud ConsulSpring Cloud负载均衡器网关中的服务发现和负载均衡使用服务发现和负载均衡 环境配置…

微信多功能投票小程序源码系统:送礼物+在线充值+票数汇总+创建活动+完整的代码安装包 附带完整的搭建教程

微信已成为人们日常生活中不可或缺的一部分。因此,微信小程序也受到了广大用户的欢迎。在这个背景下,多功能投票小程序应运而生,为各种活动提供了方便快捷的投票方式。本文将介绍一款微信多功能投票小程序源码系统,该系统具有送礼…

stable diffusion 基础教程-图生图

界面 图生图大概有以下几个功能: 图生图涂鸦绘制局部绘制局部绘制(涂鸦蒙版)其常用的也就上面四个,接下来逐步讲解。 以图反推提示词 图生图可以根据反推提示词来获取相应图片的提示词,目前3种主流方式,如下: CLIP反推提示词:推导出的文本倾向于自然语言的描述方式,…

BAT036:TXT与DOC格式互转、DOC与DOCX格式互转

引言:编写批处理程序,可实现txt与doc文档格式互转、doc与docx文档格式互转。 一、新建Windows批处理文件 参考博客: BAT002:在右键菜单新建中添加【Windows批处理文件】_为右键菜单添加bat-CSDN博客 二、TXT与DOC格式互转 1.右键新建的批处理文件,点击【编辑】。 ​ …

2024,启动(回顾我的2023)

零.前言 打开博客想写个年度总结,发现已经半年没有更新文章了,排名从几千掉到了几万,不过数据量还是不错的。 时间过得可真快,2023年是充满动荡的一年,上半年gpt横空出世,下半年各种翻车暴雷吃瓜吃到嘴软…

企业培训系统开发:构建灵活高效的学习平台

企业培训系统的开发在当今数字化时代是至关重要的。本文将介绍一些关键技术和代码示例,以帮助您构建一个灵活、高效的企业培训系统。 1. 技术选型 在开始企业培训系统的开发之前,首先需要选择合适的技术栈。以下是一个基本的技术选型示例:…

Linux_CentOS_7.9_MySQL_5.7配置数据库服务开机自启动之简易记录

前言: 作为运维保障,都无法准确预估硬件宕机的突发阶段,其生产数据实时在产出,那作为dba数据库服务的其重要性、必要性就突显而出。这里拿虚拟机试验做个配置记录,便于大家学习参考。 # 如出现服务器重启后登入报错无…

【本科生通信原理】【实验报告】【北京航空航天大学】实验二:AM、DSB调制/解调

一、实验目的 二、实验内容 三、实验程序 1、 function q1() N 1024; %采样点数 A 2; %直流分量 t0 5; %信号时长 dt t0 / N; %时间分辨率 fs 1 / dt; %系统采样频率…

pytorch08:学习率调整策略

目录 一、为什么要调整学习率?1.1 class _LRScheduler 二、pytorch的六种学习率调整策略2.1 StepLR2.2 MultiStepLR2.3 ExponentialLR2.4 CosineAnnealingLR2.5 ReduceLRonPlateau2.6 LambdaLR 三、学习率调整小结四、学习率初始化 一、为什么要调整学习率&#xff…

苹果电脑菜单栏应用管理软件Bartender 4 mac软件特点

Bartender mac是一款可以帮助用户更好地管理和组织菜单栏图标的 macOS 软件。它允许用户隐藏和重新排列菜单栏图标,从而减少混乱和杂乱。 Bartender mac软件特点 菜单栏图标隐藏:Bartender 允许用户隐藏菜单栏图标,只在需要时显示。这样可以…

Windows PowerShell的安全目标——安全警报

Windows PowerShell的安全目标——安全警报 1. 保证Shell安全 ​ 自从2006年年底PowerShell发布以来,微软在安全和脚本方面并没有取得很好的名声。毕竟那个时候,**VBScript和Windows Script Host(WSH)**是两个最流行的病毒和恶意软件的载体&#xff0c…

Linux环境vscode clang-format格式化:vscode clang format command is not available

问题现象 vscode安装了clang-format插件,但是使用就报错 问题原因 设置中配置的clang-format插件工具路径不正确。 解决方案 确认本地安装了clang-format工具:终端输入clang-format(也可能是clang-format-13等版本,建议tab自…

Jenkins工具使用

学习目录: 1、jenkins的安装 2、junkins的常规使用 3、jenkins在接口自动化测试实践 具体内容: 1、jenkins的安装 安装包下载:推荐Index of /jenkins/war/latest/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror,…

系列十一、(一)Sentinel简介

一、Sentinel简介 1.1、官网 【英文文档】 https://github.com/alibaba/Sentinel/wiki【中文文档】 https://github.com/alibaba/Sentinel/wiki/%E4%B8%BB%E9%A1%B5 1.2、概述 1.3、功能