然后开启mysql多实例(mysql启动多个实例)

  • 1、mysql如何创建多个实例,求步骤,谢谢,急求
  • 2、mysql怎么启动和停止多实例
  • 3、如何在同一台机器上安装多个MySQL的实例

大多情况下,需要可靠而有效地克隆 MySQL 实例数据。这包括 MySQL 高可用的解决方案,其中需要在将实例加入组复制集群之前配置实例,或者在经典复制模型中将其添加为 Slave。

为复制拓扑而创建 MySQL 副本一直很麻烦。涉及的步骤很多,首先要备份 MySQL 服务器,通过网络将备份传输到我们想要添加到复制集的新 MySQL 节点,然后在该节点上恢复备份并手动启动 MySQL 服务器。为了高可用,最好还要将其正确设置备份的 GTID,并启动并运行群集。涉及的手动步骤数量过多不利于高可用。CLONE 插件解决了这个问题并简化了副本配置。使您可以使用 MySQL 客户端(和 SQL 命令)来配置新节点并在发生时观察克隆进度。无需手动处理多个步骤并维护自己的基础架构来配置新的 MySQL 节点。

MySQL 8.0.17 引入了 CLONE SQL 语句,使当前的 MySQL 服务器成为另一个运行在不同节点的 MySQL 服务器的“克隆”。我们将执行 clone 语句的服务器实例称为“受体”。克隆的源服务器实例称为“供体”。供体克隆以一致的快照存储在 InnoDB 存储引擎中的所有数据和元数据,以替换受体中的数据。

成功执行 CLONE SQL 语句后,将自动重新启动受体服务器。重新启动涉及恢复克隆的快照数据,就像用老方法复制数据一样。恢复完成后,受体就是供体的克隆版,随时可以使用!

这里有一些关于克隆过程的重要注意事项。

不克隆 MySQL 配置参数,并且受体保留所有原始配置参数,如克隆之前。这样做是因为许多配置可能特定于节点(例如 PORT),因此保留它们似乎是一个不错的选择。另一方面,一些存储配置确实需要在供体和受体之间匹配(例如 innodbpagesize),如果这样的配置参数不匹配,CLONE 将报告错误。

CLONE 插件不会克隆二进制日志。

CLONE 插件目前仅支持 InnoDB 存储引擎。在其他存储引擎(如 MyISAM 和 CSV)中创建的表将被克隆为空表。克隆基础架构的设计允许克隆 MySQL 支持的任何存储引擎。但是,只有 InnoDB 序列化和反序列化方法已经实现并经过测试。

克隆会阻止供体中的所有并发 DDL。

需要注意的事实是受体放弃所有数据以及任何二进制日志,以便成为供体实例的克隆。在执行 CLONE 之前,如果认为有必要,需要备份当前受体数据。

用MySQL实例管理器来启动服务器。

在这种情况下,Instance Manager的行为取决于MySQL配置文件中的选项。如果没有配置文件,MySQL实例管理器创建mysqld实例并试图用默认(编译嵌入的)配置来启动。这说明如果mysqld没有安装到 默认位置,IM不能猜出它的位置。如果你已经在非标准位置安装了MySQL服务器,你应使用配置文件。参见2.1.5节,“安装布局”。

如果有配置文件,IM将分析配置文件搜索[mysqld]部分(例如[mysqld]、[mysqld1]、[mysqld2]等)。每个部分指定一个实例。启动时IM将启动所有找到的实例。IM关闭时默认停止所有实例。

请注意有一个特殊选项mysqld-path(mysqld-path = path-to-mysqld- binary),只能用IM识别。使用该变量让IM知道mysqld二进制驻留在哪儿。你还应该为服务器设置basedir和datadir选项。

启用MySQL实例管理器的典型MySQL服务器启动/关闭循环为:

· 用/etc/init.d/mysql脚本启动MySQL实例管理器。

· MySQL实例管理器启动所有实例并监视它们。

· 如果某个服务器实例失败,MySQL实例管理器重启它。

· 如果MySQL实例管理器被关闭(例如用/etc/init.d/mysql stop命令),所有实例被MySQL实例管理器关闭。

这种架构一般用在以下三类场景

1. 备份多台 Server 的数据到一台如果按照数据切分方向来讲,那就是垂直切分。比如图 2,业务 A、B、C、D 是之前拆分好的业务,现在需要把这些拆分好的业务汇总起来备份,那这种需求也很适用于多源复制架构。实现方法我大概描述下:业务 A、B、C、D 分别位于 4 台 Server,每台 Server 分别有一个数据库来隔离前端的业务数据,那这样,在从库就能把四台业务的数据全部汇总起来,而不需要做额外的操作。那没有多源复制之前,要实现这类需求,只能在汇总机器上搭建多个 MySQL 实例,那这样势必会涉及到跨库关联的问题,不但性能急剧下降,管理多个实例也没有单台来的容易。

2. 用来聚合前端多个 Server 的分片数据。

同样,按照数据切分方向来讲,属于水平切分。比如图 3,按照年份拆分好的数据,要做一个汇总数据展现,那这种架构也非常合适。实现方法稍微复杂些:比如所有 Server 共享同一数据库和表,一般为了开发极端透明,前端配置有分库分表的中间件,比如爱可生的 DBLE。

3. 汇总并合并多个 Server 的数据

第三类和第一种场景类似。不一样的是不仅仅是数据需要汇总到目标端,还得合并这些数据,这就比第一种来的相对复杂些。比如图 4,那这样的需求,是不是也适合多源复制呢?答案是 YES。那具体怎么做呢?

原创文章,作者:H8GE6,如若转载,请注明出处:https://www.506064.com/n/127029.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
H8GE6的头像H8GE6
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:13

相关推荐

  • 运行第一个python程序报错(python提供什么机制处理程序运行错误)

    本文目录一览: 1、本人第一个python程序为何运行不了? 2、跑python报错 3、第一个python程序就出错,帮我看看 4、ubuntu运行python程序时报错(OSE…

    编程 2024-10-03
  • c语言残缺棋盘,棋盘问题C语言

    本文目录一览: 1、c语言编程64棋盘放米第64格米数 2、c语言 第14题 3、这道c语言编程题怎么做啊,急 c语言编程64棋盘放米第64格米数 这是用系统函数的pow(); #…

    编程 2024-10-04
  • 字符删除

    字符删除是我们在编程中常常需要用到的操作。从简单的删除一个字符,到删除重复字符,它的应用场景也十分广泛。在本文中,我们将从多个方面对字符删除做详细的阐述。 一、qq字符删除怎么恢复…

    编程 2024-11-25
  • 详解.ld文件的作用和使用方法

    一、什么是.ld文件 在嵌入式开发中,.ld文件是一个非常重要的文件,它负责定义了链接器如何将各个目标文件中的部分组合成最终可执行程序。.ld文件中主要包含了各个目标文件的内存分配…

    编程 2024-10-29
  • DefaultJava

    Java是目前世界上最流行的编程语言之一,其强大的生态系统和广泛应用领域,使得Java成为了很多开发人员的首选。DefaultJava则是一个简单的Java应用程序的默认名称。在本…

    编程 2024-10-04
  • uniapp使用websocket

    一、uniapp使用websocket proto WebSocket是HTML5的一个新协议,它实现了客户端与服务器端通过一个长久的连接通道来进行双向数据传输。WebSocket…

    编程 2024-10-03
  • Python字典: 无序键值对的便捷存储

    在计算机程序设计中,数据存储一直是一个需要重视的问题。在Python语言中,由于其广泛的应用和强大的功能,数据结构也是其中的重点。其中,Python字典就是一个非常实用的数据结构,…

    编程 2024-11-24
  • 163镜像:全面解析

    一、163镜像源 163镜像源是指向其他镜像站提供的服务的镜像站,其主要作用是在用户访问速度与资源可靠性之间做一个平衡。使用163镜像源,可以获得快速的下载速度和高质量的软件包。 …

    编程 2024-11-01
  • Python代码运行的本质

    作为一名Python工程师,每天都要面对大量的代码,但是你是否真正理解Python代码是如何运行的呢?本文将从多个方面介绍Python代码运行的本质,帮助你更好地理解Python编…

    编程 2024-12-02
  • javastr,java中stringbuilder

    本文目录一览: 1、java中str+=1;是什么意思? 2、java中str是什么意思? 3、java中str =str.subString(1,3);是什么意思? 4、java…

    编程 2024-10-31

发表回复

登录后才能评论