iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL BlackHole引擎的概念和使用场景
  • 504
分享到

MySQL BlackHole引擎的概念和使用场景

2024-04-02 19:04:59 504人浏览 薄情痞子
摘要

本篇内容介绍了“Mysql BlackHole引擎的概念和使用场景”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

本篇内容介绍了“Mysql BlackHole引擎的概念和使用场景”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

概念

像MyISAM、InnoDB,BlackHole是另一种mysql引擎,从字面意思来看,
其表现就像一个黑洞,只进不出,进来就消失。换句话说,任何往其中写的数据都将丢失,有点像linux的/dev/null
比如一个表test的引擎是BlackHole,任何对这个表的insert都将丢失,
对它的select永远返回空集,对应的数据目录下只有一个test.frm文件,且没有其他文件与之关联。

使用场景

一个并不保存任何数据的引擎,到底有什么意义?
关键在于,虽然其不保存数据,但对数据库的操作仍旧记录在binlog日志中。
这就带来一个好处,可以将其作为主从复制的中介,将原来从主库中同步的操作变为从作为中介的BlackHole引擎数据库中同步。

1.作为伪主库分担主库负担

众所周知,当从库比较多的时候,所有从库都从主库load数据将加重主库的负担。但如果是从BlackHole的伪主库中同步就可以减轻主库的负担。原有主从架构大概就像下面这样:

MySQL BlackHole引擎的概念和使用场景

现在,BlackHole伪主库作为中介,变成这样:

MySQL BlackHole引擎的概念和使用场景

特别是,可以在伪主库中配置replicate-do和replicate-ignore规则,过滤不需要同步的表。

2.作为binlog日志收集器

其不保存实际数据,只记录binlog的特性,使得该引擎可用于binlog日志收集,便于数据库分析。
相关知识:binlog日志的fORMat有三种:row,statement,mixed。
row的方式记录每一行被改变的记录,也就说,update将记录所有符合条件被修改的行,alter table更惨,相当于重建整个表,记录所有行的改变。所以这种格式下日志容易过大;
statement的方式只记录改变数据的sql,没有row方式的问题,但其会记录该SQL执行的上下文信息,有个不好的地方是,该上下文信息在另一端重现的时候,容易因为较复杂的信息负责出错。
mixed的方式综合row和statement的方式。

配置

在伪库中,需要如下配置:
配置默认类型为BlackHole,可以用
default_table_type = BLACKHOLE
或是
default-storage-engine = BLACKHOLE
打开binlog:log-bin  = ms-mysql-bin
特别要配置:log-slave-update  = 1,只有这样,主库中的操作才会同步到BlackHole的binlog中,否则,只有直接针对BlackHole的操作才会记录到binlog。
忽略InnoDB:skip-innodb,当建表语句带有engine=innodb时,将使用默认的BlackHole引擎。
需要提醒的是,当采用这种架构时,数据同步多了中间一层,需要进一步考虑延迟问题。

“MySQL BlackHole引擎的概念和使用场景”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL BlackHole引擎的概念和使用场景

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL BlackHole引擎的概念和使用场景
    本篇内容介绍了“MySQL BlackHole引擎的概念和使用场景”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2024-04-02
  • JSON Schema概念及使用场景
    目录1.什么是JSON Schema2. JSON Schema的应用场景2.1 表单数据校验2.2 接口数据校验2.3 低代码 low-code1.什么是JSON Schema 相...
    99+
    2024-04-02
  • JSON Schema概念及使用场景是什么
    本篇内容介绍了“JSON Schema概念及使用场景是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.什么是JSON Sch...
    99+
    2023-07-02
  • 探索CSS伪类与伪元素的基础概念和使用场景
    了解CSS伪类和伪元素的基本概念及应用场景CSS(Cascading Style Sheets)是一种用于描述网页样式的标记语言,它可以控制网页中的元素的外观和布局。在CSS中,伪类和伪元素是非常有用的功能,可以进一步扩展CSS的应用范围和...
    99+
    2023-12-23
    应用场景 CSS伪类 伪元素
  • MySQL数据库中的键和索引的概念
    本篇内容主要讲解“MySQL数据库中的键和索引的概念”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL数据库中的键和索引的概念”吧!1.键的概念键:数据库中的键(key)又称为关键字,是关...
    99+
    2023-06-02
  • VUE Nuxt.js中间件:全面解析其概念、作用和应用场景
    一、中间件的概念 中间件是一种软件组件,它位于客户端和服务器之间,用于处理请求并响应请求。在 Vue Nuxt.js 中,中间件是一个特殊的函数,它可以拦截请求并执行自定义逻辑。中间件可以用于各种目的,例如: 身份验证:检查用户是否已登...
    99+
    2024-02-14
    Vue Nuxt.js 中间件 请求处理 自定义逻辑
  • mysql和mongodb的使用场景有哪些
    MySQL适用于需要事务支持和复杂查询的应用场景,比如金融系统、电子商务平台等需要高度可靠性和数据一致性的应用。 Mongo...
    99+
    2024-04-09
    mysql mongodb
  • Java中的引用类型和使用场景详细
    目录1、强引用2、软引用3、弱引用4、弱引用的使用场景5、虚引用Java中的引用类型有哪几种? Java中的引用类型分成 强引用 , 软引用 , 弱引用 , 虚引用 。 1、强...
    99+
    2024-04-02
  • SpringBean的定义概念和使用
    目录定义创建Bean基于XML配置基于注解扫描的配置基于Java的配置Component系列依附于@Configuration的注解FactoryBean定义 Spring bean...
    99+
    2023-05-15
    Spring Bean是什么 Spring Bean定义
  • MySQL使用表锁和行锁的场景详解
    目录前言全局锁表级锁表锁元数据锁意向锁行级锁总结前言 MySQL Innodb 的锁可以说是执行引擎的并发基础了,有了锁才能保证数据的一致性。众所周知,我们都知道 Innodb 有全...
    99+
    2024-04-02
  • 揭示 HTML5 视听引擎:理解视频和音频 API 的核心概念
    视频 API <video> 元素:该元素用作 HTML5 中视频内容的容器。它允许指定视频源、设置播放控制和配置字幕。 视频编解码器:H.264 (AVC) 和 VP9 等视频编解码器用于压缩和解压缩视频数据,从而实现有效传...
    99+
    2024-03-14
    视频与音频API
  • MySQL数据克隆的定位和使用场景
    这篇文章主要讲解了“MySQL数据克隆的定位和使用场景”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据克隆的定位和使用场景”吧!1.产品定位:数...
    99+
    2024-04-02
  • Java中弱引用的概念和作用是什么
    本篇内容介绍了“Java中弱引用的概念和作用是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!概览本文会通过对弱引用的定义讲起,然后通过案...
    99+
    2023-06-16
  • MySQL的基本概念和常用命令
    这篇文章主要讲解了“MySQL的基本概念和常用命令”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL的基本概念和常用命令”吧! 1 MySQL简介 ...
    99+
    2024-04-02
  • 数据库水平分割详解:理解概念、实现方法和应用场景
    数据库水平分割是一种将数据存储在多台服务器上的技术,以便在多个位置访问数据。水平分割的一个主要优点是它可以提高查询性能,因为查询可以分布在多个服务器上进行处理。水平分割还提供了更高的可用性,因为如果其中一台服务器出现故障,其他服务器仍然可...
    99+
    2024-02-24
    数据库 水平分割 分库分表 负载均衡 查询性能 管理
  • MySQL事务:原理、类型和使用场景
    一、事务的概念 在数据库中,事务是指一组数据库操作,这些操作要么全部执行,要么全部不执行,是一个不可分割的工作单元。事务具有ACID(原子性、一致性、隔离性和持久性)特性,保证了数据库操作的正确性和可靠性。 二、事务的特性 原子性(Atom...
    99+
    2023-09-02
    数据库 mysql sql
  • React useMemo和useCallback的使用场景
    目录useMemouseCallback useMemo 我们知道当父组件发生重新渲染时,其所有(状态、局部变量等)都是新的。一旦子组件依赖于父组件的某一个对象变量,那么无论对象是否...
    99+
    2024-04-02
  • 详解Java的引用类型及使用场景
    目录1. 强引用(Strong Reference)2. 软引用(Soft Reference)3. 弱引用(Weak Reference)4. 虚引用(Phantom Refere...
    99+
    2024-04-02
  • C++详细分析讲解引用的概念与使用
    目录1.引用的概念2.引用的格式3.引用的特性4.取别名原则5.引用的使用场景做参数做返回值int&Count()的讲解传值传引用效率比较6.引用和指针的不同点1.引用的概念...
    99+
    2024-04-02
  • CSS滤镜的概念和使用方法
    本篇内容主要讲解“CSS滤镜的概念和使用方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS滤镜的概念和使用方法”吧!CSS滤镜是什么CSS滤镜是对常规的C...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作