一台mysql实例可以创建多少mysql数据库

创建数据库基本上没有任何限制,可以使用实例的副本创建。

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

创建MySQL副本来复制拓扑一直很乏味。
涉及很多步骤:首先备份MySQL服务器,通过网络将备份传输到我们要添加到副本集的新MySQL节点,然后将备份恢复到该节点并手动启动MySQL服务器。
为了获得高可用性,建议还正确设置备份的GTID并使集群可运行。
手动步骤的数量会影响高可用性。
CLONE插件解决了这个问题并简化了副本配置。
允许您使用MySQL客户端(和SQL命令)来配置新节点并在克隆过程中监控克隆进度。
您无需手动执行多个步骤并维护自己的基础设施来配置新的MySQL节点。

MySQL8.0.17引入了CLONESQL语句,使当前的MySQL服务器成为运行在不同节点上的另一台MySQL服务器的“克隆”。
我们将执行克隆语句的服务器实例称为“接收者”。
克隆的源服务器实例称为“捐赠者”。
捐赠者克隆以一致的快照将所有数据和元数据存储在InnoDB存储引擎中,并替换接收者中的数据。

CLONESQL语句成功执行后,接受服务器会自动重启。
当您重新启动时,克隆的快照数据将被恢复,就像数据的旧副本一样。
一旦恢复完成,接受者就是捐赠者的现成克隆!

以下是有关克隆过程的一些重要说明。

MySQL配置参数不会被克隆,接收者保留克隆之前的所有原始配置参数。
发生这种情况是因为许多配置可能是特定于节点的(例如端口),因此保留它们似乎是一个不错的选择。
另一方面,某些存储配置要求捐赠者和接受者之间匹配(例如innodbpagesize),如果此类配置参数不匹配,CLONE将报告错误。

CLONE插件不会克隆二进制协议。

CLONE插件目前仅支持InnoDB存储引擎。
在其他存储引擎(例如MyISAM和CSV)中创建的表将被克隆为空表。
克隆基础设施旨在支持MySQL支持的所有存储引擎的克隆。
但是,仅实现并测试了InnoDB序列化和反序列化方法。

克隆会阻止供体中所有同时发生的DDL。

请注意,接受者会丢弃所有数据以及所有二进制协议,以成为捐赠者实例的克隆。
在执行CLONE之前,如有必要,需要备份当前的收件人数据。

数据库引擎和数据库实例的关系

数据库引擎和数据库实例的关系如下:1、在MySQL中,数据库文件可以是以frm、myd、myi或ibd结尾的文件。
使用NDB引擎时,数据库文件可能不是操作系统上的文件,而是存储在内存中的文件,但定义保持不变。
2、数据库实例:由数据库后台进程/线程和共享内存区域组成。
共享内存可以通过运行后台进程/线程来共享。
需要记住的重要一点是,数据库实例是实际用于处理数据库文件的实例。

MySQL中的实例、数据库关系简介

MySQL实例在系统上表现为一个服务进程。
可以通过不同的方法创建多个实例,例如安装不同端口号的MySQL服务或使用工作台创建新的服务器实例。
MySQL实例由线程和内存组成,内存是实际用于运行数据库文件的部分。
单个实例可以运行一个或多个数据库,在集群中,多个实例可以运行一个或多个数据库。
当实例启动时,会读取一个配置文件,类似于Oracle的spfile。
但是,如果找不到配置文件,MySQL将开始使用默认参数设置。
在MySQL中,会话与实例关联,而不是直接与特定数据库关联。
一个实例可以运行多个数据库,因此一个会话可以在该实例上运行多个数据库。
简单来说,实例和数据库之间存在对应关系。
连接和会话的区别:连接是一个物理概念,表示客户端与服务器之间的网络连接是一个逻辑概念,存在于实例中。
建立连接实际上会在实例中创建一个或多个线程。
一个会话可以创建多个事务。
一笔交易只能在一个会话中创建。
一项事务可以创建一个或多个线程,例如RMAN备份。
同时,一个线程一次只能执行一个事务。
事务、会话和线程之间的关系:事务是一个公司所需的最小处理单元,例如,从A卡向B卡转账500元,有两个过程可以撤消。
一个会话可以包含多个交易,比如多次转账,第二次失败不影响第一次成功。
一个会话可以由多个事务组成,线程是一个操作系统概念。