MySQL壳API8.0.28
统一为MySQL产品开发接口 |
InnoDB集群,ReplicaSet,ClusterSet管理功能。更多…
方法 |
|
JSON | checkInstanceConfiguration(InstanceDef实例,字典选项) |
验证MySQL InnoDB的实例集群使用。更多… |
|
未定义的 | configureReplicaSetInstance(InstanceDef实例,字典选项) |
验证和配置一个InnoDB使用实例ReplicaSet。更多… |
|
未定义的 | configureLocalInstance(InstanceDef实例,字典选项) |
验证和配置MySQL InnoDB的本地实例集群使用。更多… |
|
未定义的 | configureInstance(InstanceDef实例,字典选项) |
验证和配置MySQL InnoDB的实例集群使用。更多… |
|
集群 | createCluster(字典选项字符串名称) |
创建一个MySQL集群InnoDB。更多… |
|
ReplicaSet | createReplicaSet(字典选项字符串名称) |
创建一个MySQL InnoDBReplicaSet。更多… |
|
未定义的 | deleteSandboxInstance(整数端口,字典选项) |
在本地主机上删除一个现有的MySQL服务器实例。更多… |
|
实例 | deploySandboxInstance(整数端口,字典选项) |
在本地主机上创建一个新的MySQL服务器实例。更多… |
|
未定义的 | dropMetadataSchema(字典选项) |
滴的元数据模式。更多… |
|
集群 | getCluster(字典选项字符串名称) |
检索从元数据存储集群。更多… |
|
ClusterSet | getClusterSet() |
返回一个对象表示ClusterSet。更多… |
|
ReplicaSet | getReplicaSet() |
返回一个对象表示ReplicaSet。更多… |
|
未定义的 | killSandboxInstance(整数端口,字典选项) |
杀死一个在本地主机上运行的MySQL服务器实例。更多… |
|
集群 | rebootClusterFromCompleteOutage(字符串clusterName,字典选项) |
带来一个集群在线当所有成员都是离线。更多… |
|
未定义的 | startSandboxInstance(整数端口,字典选项) |
在本地主机上启动一个现有的MySQL服务器实例。更多… |
|
未定义的 | stopSandboxInstance(整数端口,字典选项) |
停止在本地主机上运行的MySQL服务器实例。更多… |
|
未定义的 | upgradeMetadata(字典选项) |
升级(或恢复)的元数据所支持的版本壳牌。更多… |
|
属性 |
|
整数 | 详细的 |
会话 | 会话 |
InnoDB集群,ReplicaSet,ClusterSet管理功能。
JSON checkInstanceConfiguration | ( | InstanceDef | 实例, |
字典 | 选项 | ||
) |
验证MySQL InnoDB的实例集群使用。
实例 | 定义一个实例。 |
选项 | 可选的数据操作。 |
这个函数评价实例配置确定如果是有效的使用和复制。使用这个来检查可能的配置问题在MySQL实例创建一个集群与他们或添加到现有的集群。
实例定义数据实例的连接。
关于MySQL连接数据的附加信息,明白了连接数据。
选择字典可能包含以下选项:
密码可以包含在实例的连接定义,然而,它可以被覆盖上指定的选项。
返回的描述性文本操作的结果表明为InnoDB实例是否有效集群使用与否。如果不是这样,一个表给出了包含以下信息:
注意可以下列之一:
未定义configureReplicaSetInstance | ( | InstanceDef | 实例, |
字典 | 选项 | ||
) |
验证和配置一个InnoDB使用实例ReplicaSet。
实例 | 可选定义一个实例。默认情况下,积极使用shell会话。 |
选项 | 可选的附加选项的操作。 |
这个函数会自动验证和配置的目标实例使用InnoDBReplicaSet。
函数可以创建一个“群集管理器”账户,如果“clusterAdmin”和“clusterAdminPassword”选项。创建账户的最小集合管理InnoDB集群或ReplicaSets所需的特权。“群集管理器”帐户必须匹配的用户名和密码在所有实例集群或replicaset相同。
实例定义数据实例的连接。
关于MySQL连接数据的附加信息,明白了连接数据。
选择字典可能包含以下选项:
密码可以包含在实例的连接定义,然而,它可以被覆盖上指定的选项。
这个函数评价实例配置识别replicasets如果是有效使用。如果不抛出异常。
如果实例为InnoDB无效ReplicaSet启用和交互,之前配置实例提出一个提示确认更改表与以下信息:
未定义configureLocalInstance | ( | InstanceDef | 实例, |
字典 | 选项 | ||
) |
验证和配置MySQL InnoDB的本地实例集群使用。
实例 | 可选定义一个实例。 |
选项 | 可选的附加选项的操作。 |
这个函数评价实例配置确定如果是有效使用InnoDB的集群,在必要时进行配置更改。
实例定义数据实例的连接。
关于MySQL连接数据的附加信息,明白了连接数据。
选择字典可能包含以下选项:
如果使用outputMycnfPath选项,只有文件更新和mycnfPath看作是只读的。
密码可以包含在实例的连接定义,然而,它可以被覆盖上指定的选项。
clusterAdmin必须是一个标准的MySQL账户名称。它可以是一个现有的帐户或创建一个帐户。
必须指定clusterAdminPassword只有clusterAdmin账户将被创建。
返回的描述性文本操作的结果表明实例是否成功地配置为InnoDB集群为InnoDB使用或如果它已经有效集群使用。
如果实例为InnoDB无效集群启用和交互,之前配置实例提出一个提示确认更改表与以下信息:
未定义configureInstance | ( | InstanceDef | 实例, |
字典 | 选项 | ||
) |
验证和配置MySQL InnoDB的实例集群使用。
实例 | 可选定义一个实例。 |
选项 | 可选的附加选项的操作。 |
这个函数为InnoDB自动配置的实例集群使用。如果目标实例已经属于一个InnoDB集群它的错误。
实例定义数据实例的连接。
关于MySQL连接数据的附加信息,明白了连接数据。
选择字典可能包含以下选项:
如果使用outputMycnfPath选项,只有文件更新和mycnfPath看作是只读的。
密码可以包含在实例的连接定义,然而,它可以被覆盖上指定的选项。
clusterAdmin必须是一个标准的MySQL账户名称。它可以是一个现有的帐户或创建一个帐户。
必须指定clusterAdminPassword只有clusterAdmin账户将被创建。
这个函数评价实例配置确定如果是有效的在集群组复制和使用。如果不抛出异常。
如果实例为InnoDB无效集群启用和交互,之前配置实例提出一个提示确认更改表与以下信息:
集群createCluster | ( | 字符串 | 的名字, |
字典 | 选项 | ||
) |
创建一个MySQL集群InnoDB。
的名字 | 要创建一个标识符的集群。 |
选项 | 可选的字典下面描述的附加参数。 |
创建一个MySQL集群InnoDB采取种子实例壳牌正在连接到服务器。
选择字典可以包含以下值:
InnoDB集群可能设置在两个方面:
注意,Multi-Primary模式限制什么可以安全地执行。确保阅读MySQL文档组复制和安全意识到哪些是,哪些不是10bet官方网站可执行的在这样的设置中。
默认情况下这个函数创建一个集群。使用multiPrimary选项设置为true是否需要多主集群。
交互式控制是否显示提示MySQL密码、确认和处理的情况下,可能需要用户的反馈。默认值为true,除非壳牌与——no-wizards选项开始。
disableClone应该设置为true如果内置克隆支持应该完全残疾,甚至在实例支持。内置的克隆支持从MySQL 8.0.17并允许自动配置新的集群成员通过复制状态从现有的集群成员。请注意,克隆将完全删除所有实例被添加到集群中的数据。
gtidSetIsComplete用于表明GTIDs一直启用集群种子实例和GTID_EXECUTED包含所有事务的执行。必须离开是错误的,如果数据被插入或修改而GTIDs残疾或者重置主被处决。这个标志会影响cluster.addInstance()决定使用哪个恢复方法是安全的。基于重演的分布式恢复事务历史只是认为是安全的,如果交易历史记录是完整的,否则集群成员最终可能与不完整的数据集。
adoptFromGR允许创建一个从现有的非托管InnoDB集群组复制设置,使使用MySQL路由器和shell AdminAPI来管理它。
memberSslMode选项支持以下值:
如果没有指定memberSslMode汽车将使用默认值。
ipAllowlist格式是一个逗号分隔的列表IP地址或子网CIDR标记,例如:192.168.1.0/24,10.0.0.1。表示默认值设置为自动,允许私有网络地址从实例allowlist自动设置。
的groupName localAddress高级选项和它们的用法是气馁因为不正确的值会导致组复制错误。
groupName的值用来设置组复制系统变量“group_replication_group_name”。
localAddress的值用来设置组复制系统变量“group_replication_local_address”。localAddress选项接受值格式:“主机:端口”或“主持人:”或“:端口”。如果指定的值不包括一个冒号(:)和数字,那么就认为它是港口,否则被认为是主机。当主机没有指定,默认值是系统变量的值“report_host”(即如果定义。,而不是“零”),否则它是主机名的值。当没有指定端口,默认值为当前活动连接的端口(会话)* 10 + 1。在情况下,自动确定缺省端口值是无效的(> 65535)则会引发一个错误。
MySQL groupSeeds选项弃用壳牌8.0.28和被忽略。“group_replication_group_seeds”是自动设置基于当前拓扑。
exitStateAction选项支持以下值:
如果没有指定exitStateAction READ_ONLY默认将使用。
一致性选项支持以下值:
如果没有指定的一致性,最终将在默认情况下使用。
exitStateAction的值是用于配置组复制行为,当一个服务器实例离开组无意中遇到一个灌肠器错误后(例如)或耗尽其auto-rejoin尝试。当设置为ABORT_SERVER,实例自行关闭。当设置为READ_ONLY服务器交换机本身super-read-only模式。当设置为OFFLINE_MODE离线模式开关本身。在这种模式下,客户端用户连接断开连接的下一个请求和连接不再接受,除了客户端用户CONNECTION_ADMIN或超级特权。exitStateAction选项接受不区分大小写的字符串值,被公认的价值观:OFFLINE_MODE(或2),ABORT_SERVER(或1)和READ_ONLY(或0)。
默认值是READ_ONLY。
memberWeight的值用来设置组复制系统变量“group_replication_member_weight”。memberWeight选项接受整数值。组复制限制的值的范围从0到100,自动调整它如果低/提供更大的价值。
组复制使用一个默认值50如果没有提供价值。
一致性的值用来设置组复制系统变量的group_replication_consistency和配置事务一致性集群提供了保证。
设置为BEFORE_ON_PRIMARY_FAILOVER时,每当一个主要故障转移发生在单一主模式(默认),新的查询(读或写)的新当选的主要应用积压的旧主,将在执行之前,直到积压。当最终,阅读查询新的主允许即使积压不是应用但写会失败(如果积压不是应用)由于super-read-only模式被启用。客户端可能返回旧值。
当设置之前,每个事务(RW或RO)前等待,直到所有交易完成之前开始执行。这可以确保每个事务执行的最新的快照数据,无论成员上执行。交易的延迟影响但对RW交易同步的开销降低自同步使用只在RO事务。
当设置为后,每个RW事务等待,直到它的变化应用于所有其他的成员。这确保这笔交易完成后,所有以下事务读取数据库状态,包括其变化,不管他们的成员执行。这种模式只能用于一组主要用于反渗透操作,以确保后续读获取最新的数据,其中包括最新的写。同步在每个RO事务的开销降低了自同步使用只在RW事务。
当BEFORE_AND_AFTER,每个RW事务等待所有前事务完成前被应用,直到其变化应用于其他成员。RO事务等待所有前交易完成之前执行。这样可以确保之前和之后给予的保证。同步的开销较高。
一致性的选择接受不区分大小写的字符串值,被公认的价值观:最终(或0),BEFORE_ON_PRIMARY_FAILOVER(1),(2)之前,(或3),BEFORE_AND_AFTER(或4)。
默认值是最终的。
expelTimeout的值用来设置组复制系统变量的group_replication_member_expel_timeout和配置组复制会等待多久才能驱逐集团任何成员涉嫌失败了。在低速网络,或当机器预计放缓,增加这个选项的值。expelTimeout选项接受正整数的值在[0,3600]。
默认值是0。
autoRejoinTries的值用来设置组复制系统变量的group_replication_autorejoin_tries和配置实例将尝试多少次被开除后加入一个组复制组。在网络故障发生但很快恢复的场景中,设置这个选项可以防止用户必须手动添加驱逐节点组。autoRejoinTries选项接受正整数的值在[0,2016]。
默认值是0。
ReplicaSetcreateReplicaSet | ( | 字符串 | 的名字, |
字典 | 选项 | ||
) |
创建一个MySQL InnoDBReplicaSet。
的名字 | 要创建一个标识符的replicaset。 |
选项 | 可选的字典下面描述的附加参数。 |
这个函数将创建一个管理replicaset使用MySQL的主/从复制,而不是复制。shell连接到MySQL实例将最初的主副本集。
函数将执行几个检查,确保实例状态和配置兼容replicaset管理,如果是这样,一个元数据模式将被初始化。
可以通过添加新的副本实例addInstance()函数返回的replicaset对象。实例及其复制通道的状态可以用状态检查()。
InnoDB ReplicaSets
replicaset允许管理GTID-based MySQL复制设置中,在一个主/多个二级拓扑。
replicaset有几个限制InnoDB集群相比,因此,建议InnoDB集群是首选,除非不可能的。一般来说,一个ReplicaSet本身不提供高可用性。它的局限性是:中
的必备条件
下面是一个简单的列表要求replicasets管理。dba.configureInstance()命令可以用来自动进行必要的配置更改。
采用现有的拓扑
现有异步设置可以通过调用这个函数adoptFromAR选项。拓扑将自动扫描和确认,从shell连接到实例,和所有实例的一部分将自动添加到replicaset拓扑。
唯一的变化由这个函数采用replicaset是元数据的创建模式。现有的复制通道采用期间不会改变,尽管他们在主开关操作期间将会改变。
但是,这仅仅是可能使用支持配置和拓扑的管理设置。在采用将要检查所有实例的配置,以确保他们是兼容的。所有复制通道必须主动和他们的事务集验证通过GTID集必须是一致的。数据集的所有实例都将是相同的,但是不是证实。
选择字典可以包含以下值:
未定义deleteSandboxInstance | ( | 整数 | 港口, |
字典 | 选项 | ||
) |
在本地主机上删除一个现有的MySQL服务器实例。
港口 | 要删除的实例的端口。 |
选项 | 可选的字典选项修改这个函数执行的方式。 |
该函数将删除现有的MySQL服务器实例在本地主机上。以下选项影响结果:
必须找一个地方sandboxDir MySQL实例部署。如果未指定将使用:
~ / mysql-sandboxes在类unix系统中或MySQL % userprofile % \ \ mysql-sandboxes在Windows系统。
如果使用的实例没有位于路径会出现错误。
实例deploySandboxInstance | ( | 整数 | 港口, |
字典 | 选项 | ||
) |
在本地主机上创建一个新的MySQL服务器实例。
港口 | 新实例将侦听的端口连接。 |
选项 | 可选的字典选项影响新的部署实例。 |
这个函数将部署一个新的MySQL服务器实例,结果可能会影响到所提供的选项:
如果没有指定portx选项,它将自动计算提供MySQL端口的值的10倍。
密码选项指定MySQL新实例的根密码。
sandboxDir必须现有的文件夹将部署新实例。如果未指定新的实例将部署:
~ / mysql-sandboxes在类unix系统中或MySQL % userprofile % \ \ mysql-sandboxes在Windows系统。
SSL支持添加默认情况下,如果没有可用的新实例,但如果不能被添加错误被忽略了。ignoreSslError选项设置为false,以确保SSL支持的新实例部署。
未定义dropMetadataSchema | ( | 字典 | 选项 | ) |
滴的元数据模式。
选项 | 字典包含一个选项来确认删除操作。 |
选择字典可能包含以下选项:
集群getCluster | ( | 字符串 | 的名字, |
字典 | 选项 | ||
) |
检索从元数据存储集群。
的名字 | 可选参数指定集群的名称返回。 |
选项 | 可选的字典提供额外的选项。 |
如果没有指定名称或为空,默认集群将被归还。
如果指定名称,没有找到集群名称显示的,它会抛出一个错误。
选择字典接受connectToPrimary选项,默认值为true,表明壳自动连接到集群的主要成员。
ReplicaSetgetClusterSet | ( | ) |
返回一个对象表示ClusterSet。
返回的返回的对象是相同的一个createClusterSet(),可以用来管理ClusterSet。
函数将工作无论积极建立会话实例属于一个主键或复制品集群,但其元数据预计将最新的副本。
这个函数如果主也会工作集群不可用或不可用,虽然ClusterSet改变操作是不可能的,除了与forcePrimaryCluster故障转移()。
ReplicaSetgetReplicaSet | ( | ) |
返回一个对象表示ReplicaSet。
返回的返回的对象是相同的一个createReplicaSet (),可以用来管理replicaset。
函数将工作无论目标实例是一个小学或中学,但其元数据预计将最新的副本。这个函数还将工作如果主不可用或不可用,尽管replicaset改变操作是不可能的,除了forcePrimaryInstance ()。
未定义killSandboxInstance | ( | 整数 | 港口, |
字典 | 选项 | ||
) |
杀死一个在本地主机上运行的MySQL服务器实例。
港口 | 实例的端口被杀。 |
选项 | 可选的字典选项影响结果。 |
这个函数的过程会杀死一个在本地主机上运行MySQL服务器实例。以下选项影响结果:
必须找一个地方sandboxDir MySQL实例部署。如果未指定将使用:
~ / mysql-sandboxes在类unix系统中或MySQL % userprofile % \ \ mysql-sandboxes在Windows系统。
如果使用的实例没有位于路径会出现错误。
集群rebootClusterFromCompleteOutage | ( | 字符串 | clusterName, |
字典 | 选项 | ||
) |
带来一个集群在线当所有成员都是离线。
clusterName | 可选的名称重新启动集群。 |
选项 | 可选的字典选项修改这个函数的行为。 |
选择字典可以包含下一个值:
这个函数从完全停机重新启动集群。它选择MySQL实例壳牌连接到新的种子实例和复苏集群。选择也更新集群配置基于用户提供的选项。
成功,恢复集群对象返回的函数。
当前会话必须连接到一个集群前的实例。
如果名称没有指定,默认集群将被归还。
未定义startSandboxInstance | ( | 整数 | 港口, |
字典 | 选项 | ||
) |
在本地主机上启动一个现有的MySQL服务器实例。
港口 | MySQL实例侦听的端口连接。 |
选项 | 可选的字典选项影响结果。 |
该函数将一个现有的MySQL服务器实例在本地主机上。以下选项影响结果:
必须找一个地方sandboxDir MySQL实例部署。如果未指定将使用:
~ / mysql-sandboxes在类unix系统中或MySQL % userprofile % \ \ mysql-sandboxes在Windows系统。
如果使用的实例没有位于路径会出现错误。
未定义stopSandboxInstance | ( | 整数 | 港口, |
字典 | 选项 | ||
) |
停止在本地主机上运行的MySQL服务器实例。
港口 | 停止实例的端口。 |
选项 | 可选的字典选项影响结果。 |
这个函数将优雅地停止在本地主机上运行MySQL服务器实例。以下选项影响结果:
必须找一个地方sandboxDir MySQL实例部署。如果未指定将使用:
~ / mysql-sandboxes在类unix系统中或MySQL % userprofile % \ \ mysql-sandboxes在Windows系统。
如果使用的实例没有位于路径会出现错误。
未定义upgradeMetadata | ( | 字典 | 选项 | ) |
升级(或恢复)的元数据所支持的版本壳牌。
选项 | 可选的字典的选择操作。 |
这个函数将比较的版本安装元数据模式与元数据的版本支持壳牌。如果安装的元数据版本较低,升级过程将开始。
选择字典接受以下属性:
如果使用dryRun,函数将决定是否需要一个元数据升级或恢复并告知用户没有实际执行操作。
交互式选项可用于显式地启用或禁用互动提示,帮助用户通过升级过程。默认值等于MySQL壳牌向导模式。
升级过程
当升级集群部署的元数据模式壳牌滚动升级现有的MySQL版本8.0.19之前,路由器实例是必需的。这个过程中允许中断最小化应用程序升级。
滚动升级过程中必须按照以下顺序执行:
升级失败
如果安装的元数据是不可用的,因为前一个调用这个函数意外结束,这个函数将恢复状态的元数据失败之前升级操作。
int详细 |
会议会话 |