1. 请详细描述在复制拓扑中参与复制的线程类型以及各自所承担的功能。

答:当从属服务器连接到主服务器时,在主服务器上会创建 Binlog 转储线程,在从属服务器上会默 认创建 I/O 线程和 SQL 线程。

- Binlog 转储线程用于从二进制日志读取事件并将其发送到从属服务器的 I/O 线程。

- I/O 线程从主服务器的 Binlog 转储线程读取事件并将其写入从属服务器的中继日志。

- SQL(或应用)线程在单线程从属服务器上应用中继日志事件,在多线程从属服务器上分配协调 工作者线程应用中继日志事件。

2. 在从属服务器上执行 RESET SLAVE 命令时,会发生哪些操作?

答:RESET SLAVE 命令会断开从属服务器与主服务器的连接,以重置从属服务器,具体效果如下:

- 清除 master.info 和 relay.log 资料档案库

- 删除所有中继日志

- 启动新的中继日志文件

- 将 CHANGE MASTER TO 语句中指定的任何 MASTER_DELAY 重置为零

- 会保留连接参数,以便可以在不执行 CHANGE MASTER TO 的情况下重启从属服务器。 但发出 RESET SLAVE ALL 时会重置连接参数。

3. 在排除 MySQL 复制故障时,一般会从哪些维度或方向切入?

答:在解决 MySQL 复制故障时,通常考虑的因素如下:

- 查看错误日志,错误日志可以提供足够信息来确定和更正复制中的问题

- 在主服务器上发出 SHOW MASTER STATUS 语句,检查 master 状态

- 在从属服务器上发出 SHOW SLAVE STATUS 命令,

        ~ 如果从属服务器运行正常,Slave_IO_Running 和 Slave_SQL_Running 显示 Yes

         ~ Last_IO_Error 和 Last_SQL_Error 显示 IO 和 SQL 线程的最新错误消息

- 在主服务器和从属服务器上发出 SHOW PROCESSLIST 命令,检查 Binlog 转储线程、I/O 线程和 SQL 线程的状态

- 对于突然停止工作的从属服务器,检查最近复制的语句

        ~ 如果操作因约束问题或其他错误而失败,则 SQL 线程会停止

        ~ 错误日志会记录包含导致 SQL 线程停止的事件

        ~ 再验证从属服务器数据没有被直接修改(复制之外的)

4. 结合 14-5“体系结构”,请说明你对 InnoDB 集群的整体认知。

答:MySQL 组复制技术是 InnoDB 集群实现的基础,组复制安装在集群中的每个服务器实例上。组 复制能够创建弹性复制拓扑,在群集中的服务器脱机时可以自动重新配置自己。必须至少有三台 服务器才能组成一个可以提供高可用性的组。组可以在单主模式下运行,一次只有一台服务器接 受更新;也可以在多主模式下运行,所有服务器都可以接受更新,即使更新是同时发布的。

MySQL Router 位于应用程序和集群之间,用来实现负载均衡。

MySQL Shell 用来管理集群,通过 MySQL Shell 的管理 API,可以使用熟悉的 JavaScript、 Python 或 SQL 命令来管理 MySQL 集群。

5. 请对组复制的原理和功能做一个完整的描述,并说明组复制有哪些先决条件和限制。

答:组复制是 MySQL 的一个插件,它能够在一组服务器之间进行高可用的复制数据,并自动处理服 务器故障转移,当成员因崩溃、故障或重新连接而加入或离开组时自动重新配置组,并解决冲突。 集群中的服务器属于一个复制组(replication group),一个复制组最多9台最少3台服务 器,必须使用全局事务标识符(GTID),组成员身份是自动管理的,服务器可以随时离开和加入 该组,一台服务器的更改将复制到组的所有成员。 使用组复制技术必须要满足以下条件和限制:

- 通讯低延迟,要求集群服务器位于本地网络

- 基于复制冲突检测的需要,组复制仅适用于 InnoDB 存储引擎,GTID 要启用,表有主键

- 对于复制配置,要启用二进制日志记录和从属服务器更新,二进制日志用行格式记录,元数据 必须以 table 格式存储

6. InnoDB 集群单主模式和多主模式集群结构适用哪些应用场合?

答:InnoDB 集群主要的应用场合如下:

- 弹性复制环境,这种复制基础架构中涉及的服务器数量非常地不稳定。

- 高可用分片环境,分片是一种流行的写横向扩展方法,每个分片可以映射到一个复制组。

- 作为标准主从复制的替代方案使用,更可靠更安全。

7. MySQL Shell(mysqlsh)和 MySQL Router(mysqlrouter)各自提供了什么样的集群功能?

答:MySQL Shell 提供功能如下:

- MySQL 的高级客户机和代码编辑器

- 通过使用 JavaScript、Python 或 SQL 命令提供脚本功能

- 允许通过 API 访问 MySQL 功能

- 支持制表符分隔、表格和 JSON 格式的输出

- 通过全局会话对象与 MySQL 服务器交互

MySQL Router 提供功能如下:

- 充当中间件,在客户端应用程序和后端 MySQL 服务器之间提供透明路由

- 通过自动路由连接来管理故障转移

- 提供负载均衡,跨服务器池分布数据库连接以提高性能和可扩展性

- 实现可插入架构,开发人员可以扩展产品并为自定义用例创建插件

8. 面对集群的重大停机事故,请给出你所能采取的恢复集群的办法和步骤。

答:第一步,重启集群实例

第二步,连接到一个实例并运行 MySQL Shell

第三步,连接到集群并执行 dba.rebootClusterFromCompleteOutage()

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

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

相关文章

250829-Gitlab数据备份与恢复

下面给你一份可落地的迁移方案,保证 GitLab 的数据和配置完整迁移到服务器 B。你当前用的是 GitLab Omnibus(docker 版),数据都在你映射的 3 个目录里(/etc/gitlab, /var/log/gitlab, /var/opt/gitlab)&…

吴恩达机器学习作业十一:异常检测

数据集在作业一异常检测异常检测就是发现与大部分对象不同的对象,其实就是发现离群点。异常检测有时也称偏差检测。异常对象是相对罕见的。用数据集建立概率模型p ( x ),如果新的测试数据在这个模型上小于某个阈值,则说它极大可能为异常点算法…

2000w 的数据量,mysql要进行几次IO操作,为什么

在 MySQL 中,2000 万数据量的表在进行查询时所需的 ​​IO 操作次数​​主要取决于 ​​索引结构(B树层级)​​、​​查询类型​​和 ​​数据分布特征​​。以下是具体分析:一、B树层级与 IO 次数的关系InnoDB 引擎通过 B树索引管…

【代码随想录day 22】 力扣 39. 组合总和

视频讲解:https://www.bilibili.com/video/BV1KT4y1M7HJ/?vd_sourcea935eaede74a204ec74fd041b917810c 文档讲解:https://programmercarl.com/0039.%E7%BB%84%E5%90%88%E6%80%BB%E5%92%8C.html#%E6%80%9D%E8%B7%AF 力扣题目:https://leetcod…

DrissionPage 实战:动态 IP 代理与百度翻译 API 数据抓取

本文将详细介绍如何使用 DrissionPage 实现动态 IP 代理访问,并结合百度翻译 API 进行数据抓取与处理。一、技术选型与架构设计1.1 为什么选择 DrissionPage?DrissionPage 作为新一代网络自动化工具,相比传统 Selenium Requests 方案具有显著…

策略模式:灵活应对算法动态切换

引言 在软件开发中,我们常常会遇到需要在运行时动态选择和切换算法或行为的场景。例如,电商系统中的多种支付方式、游戏中的不同难度设置,或是计算器中的各种运算符。传统的方法可能会使用复杂的条件判断语句(如if-else或switch-c…

【C++ 】string类:深拷贝与浅拷贝解析

【C 】string类操作全解析-CSDN博客 1.stirng类的模拟实现 1.1 经典的string类问题 上面已经对string类进行了简单的介绍,大家只要能够正常使用即可。在面试中,面试官总喜欢要求自己来模拟实现string类,最主要是实现string类的构造、拷贝…

Decoder 解码器

Decoder 解码器&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h>#include <libavformat/avformat.h> #include <libavcodec/avcodec.h> #include <libswscale/swscale.h>#define WORD uint16_t #define DWORD ui…

globals() 小技巧

scheduler_class globals()[scheduler_class_name] Python 中一种 动态获取类对象 的常用技巧&#xff0c;属于 反射&#xff08;reflection&#xff09; 编程的范畴globals()Python 内置函数&#xff0c;返回一个 字典&#xff08;dict&#xff09;&#xff0c;包含当前模块&…

Android Studio 9.png制作

一、新建 二、把要做的图png导入进去 png图片建议 根据内容预留1像素可拉伸区域 eg:纯色或可渐变底色 三、右边创建.9.png 四、双击打开 1、绘制黑边 参考视频 2、缩放到800% ,移至右下 3、在下面和右边绘制整根黑线 4、根据png 位置左侧和上侧黑线 4.1 分析 红色方框为…

【百度】C++开发(25届提前批 一面)面经

文章目录1. 代码实现&#xff1a;说说LRU&#xff0c;并代码实现LRU为什么使用哈希表&#xff1f;&#xff08;有两个原因&#xff09;1. 仅用双向链表的缺陷2. 引入哈希表的作用1. 快速查找&#xff1a;2. 快速插入与删除&#xff1a;双向链表 哈希表的协作过程举例说明代码实…

Word文档怎么打印?Word打印技巧?【图文详解】单面/双面/指定页面/逆序等Word打印选项

一、问题背景 在日常办公、学习场景中&#xff0c;Word文档作为常用的文字处理载体&#xff0c;经常需要将电子内容转化为纸质版本&#xff0c;比如提交报告、打印学习资料、整理文档存档等。 但不少用户在尝试打印Word文档时&#xff0c;常会遇到各种阻碍&#xff1a;有的不清…

漫谈《数字图像处理》之基函数与基图像

在数字图像处理领域&#xff0c;基函数与基图像是贯穿理论分析与实际应用的核心概念 —— 它们如同 “乐高积木”&#xff0c;将复杂的图像信号拆解为可解释、可操作的基本单元&#xff0c;支撑起压缩、去噪、特征提取等一系列关键任务。从传统的傅里叶变换到前沿的因子场理论&…

打开多个Excel文件后快速关闭所有的文档,并且退出Excel应用

打开多个Excel文件后如果要快速关闭所有的文档&#xff0c;并且退出Excel应用&#xff0c;可以按住Shift键右上角的号&#xff08;关闭按钮&#xff09;。Word和PowerPoint也是一样的操作。如果有文档修改后没有保存&#xff0c;会提示是否保存。作为补充&#xff0c;先来看看两…

基于 PyTorch 构建 Dataset 与 DataLoader:从 TXT 文件读取到新增类别全流程指南

基于 PyTorch 构建 Dataset 与 DataLoader&#xff1a;从 TXT 文件读取到新增类别全流程指南在深度学习计算机视觉任务中&#xff0c;数据加载与预处理是模型训练的基础环节&#xff0c;直接影响模型的训练效率与最终性能。PyTorch 作为主流深度学习框架&#xff0c;提供了Data…

hive on tez如果是2个大表union会写几次临时文件到hdfs目录,数据量如何计算

如果是2个大表union会写几次临时文件到hdfs目录&#xff0c;数据量如何计算 在Hive on Tez中&#xff0c;两个大表执行UNION操作时&#xff0c;临时文件的写入次数和数据量&#xff0c;取决于UNION的类型&#xff08;UNION ALL还是UNION去重&#xff09;以及执行计划的Stage划分…

Web+js转uni-app+ts

一、入手uni-app 官方文档&#xff1a;uni-app官网 1.创建uni-app项目 1.1通过HBuilderX进行创建 官方地址&#xff1a;HBuilderX-高效极客技巧 1.2通过命令行创建 // js 版本的 npx degit dcloudio/uni-preset-vue#vite 项目名 npx degit dcloudio/uni-preset-vue#vite-…

IO_hw_8.29

1.使用fgets和fputs完成两个文件的拷贝&#xff0c;要求文件名使用外部传承2.注册登录代码3.思维导图4.牛客网刷题记录

数据结构(04)—— 栈和队列

Hi&#xff01;探索者们&#x1f609;&#xff0c;欢迎踏入 408 数据结构的奇妙秘境&#x1f33f;&#xff01;​ 我是 ankleless&#x1f4da;&#xff0c;和你并肩的寻宝人&#xff5e; 这是我的探险手札&#x1f5fa;️&#xff0c;里面记着链表森林的岔路陷阱&#x1f578;…

Java多线程基础:进程、线程与线程安全实战

Java多线程基础&#xff1a;进程、线程与线程安全实战 &#x1f680; 极客小贴士 &#x1f4a1; 你知道吗&#xff1f; 在Java中&#xff0c;每个线程都有自己的栈空间&#xff0c;但共享堆内存。这就像每个员工都有自己的办公桌&#xff0c;但共享公司的会议室和打印机&#…