mysql如何创建多个实例,求步骤,谢谢,急求

mysql如何创建多个实例,求步骤,谢谢,急求,第1张

大多情况下,需要可靠而有效地克隆 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 之前,如果认为有必要,需要备份当前受体数据。

语法:

语法:

语法:

语法:

语法:

其中:

column_name为要舍入的字段

decimal规定要返回的小数位数

ROUND()函数始终返回一个值。当decimals为正数时,column_name四舍五入为decimal所指定的小数位数。为decimals为负数时,column_name则按decimals所指定的在小数点的左边四舍五入

特别的,如果length是负值且大于小数点前的数字个数,ROUND()函数将返回0

实例如下:

ROUND( X ):返回参数 X 四舍五入后的一个整数

ROUND(X, D): 返回参数 X 四舍五入且保留 D 位小数后的一个数字。如果 D 为 0,结果将没有小数点或小数部分

ISNULL()

ISNULL() 函数用于判断字段是否为NULL,只有一个参数 column_name 为列名,根据 column_name 列中的字段是否为NULL值返回0或1

语法:

其中:

如果 column_name 列中的某个字段是NULL则返回1,不是则返回0

IFNULL()

IFNULL() 函数也是用于判断字段是否为NULL,但是与 ISNULL() 不同的是它接收两个参数,第一个参数 column_name 为列名,第二个参数value相当于备用值

语法:

其中:

如果 column_name 列中的某个字段是NULL则返回value值,不是则返回对应内容

COALESCE(column_name, value) 函数作用和用法和IFNULL()相同

实例如下:

COUNT() 函数用于计数,可利用其确定表中行数的数目或者符合特定条件的行的数目。当 COUNT() 中的参数不同时,其的用途也是有明显的不同的,主要可分为以下三种情况: COUNT(column_name) 、 COUNT(*) 、 COUNT(DISTINCT column_name)

COUNT(column_name)

COUNT(column_name) 函数会对指定列具有的行数进行计数,但是会除去值为NULL的行。该函数只要用于查看和列数据的数量情况,便于统计数据的缺失值

假设出现某一列的数据全为NULL值得情况

使用 COUNT(column_name) 函数对该列进行计数,会返回0

语法:

COUNT(*)

COUNT(*) 函数会对表中行的数目进行计数,包括值为NULL所在行和重复项所在行

该函数主要用于查看表中的记录数

语法:

注意: count(column_name) 和 count(*) 的区别

count(column_name) 中,如果 column_name 字段中值为NULL,则计数不会增加,而如果字段值为空字符串 "" ,则字段值会加1

count(*) 中,除非整个记录全为NULL,则计数不会增加,如果在某一个记录不为NULL,或者为空字符串"",计数值都会加1.正常来说,表都会有主键,而主键不为空,所以 COUNT(*) 在有主键的表中等同于 COUNT(PRIMARY_KEY) ,即查询有多少条记录

COUNT(DISTINCT column_name)

COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目

语法:

实例如下:

mysql与ORACLE不同,没有多bai个实例这种说法。

MYSQL服务进程可以同时du服务多个DATABASE,而zhi不象ORACLE,一个实例对应一dao个DATABASE。

你的意思是再启动一个MYSQL进程吗?这也是可以的,在启动命令行中修改参数。也可以在启动配置文件my.cnf中修改。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7245950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存