6.2.8.2升级InnoDB集群元数据

随着Adminapi的发展,一些版本可能要求您升级现有群集的元数据,以确保它们与较新版本的MySQL Shell兼容。例如,版本8.0.19中的InnoDB replicaset添加了Metadata Schema已升级到2.0版。无论您是否计划使用InnoDB Replicaset,要使用MySQL Shell 8.0.19或更高版本使用早期版本的MySQL Shell部署群集,您必须升级群集的元数据。

警告

如果不升级元数据,则无法使用MySQL Shell 8.0.19更改使用早期版本创建的群集的配置。例如,您只能对群集执行读取操作,例如集群。地位()集群。描述(), 和集群。选项()

dba.upgradeMetadata ()操作比较群集上发现的元数据模式的版本,MySQL shell当前连接到此MySQL Shell版本支持的元数据模式的版本。如果已安装的元数据版本较低,则启动升级过程。这dba.upgradeMetadata ()然后,操作升级任何自动创建MySQL路由器用户以具有正确的权限。手动创建了MySQL路由器用户,名称未开始mysql_router_没有自动升级。这是升级群集的一个重要步骤,只能升级MySQL路由器应用程序。要获取在群集中注册的MySQL路由器实例的信息需要元数据升级,问题:

cluster.listrouters({'odepgradeRequired':'true'}){“clustername”:“mycluster”,“路由器”:{“example.com ::”:{“hostname”:{“hostname”:“example.com”,“lastcheckin”:“2019-11-26 10:10:37”,“roport”:6447,“roxport”:64470,“rwport”:6446,“rwxport”:64460,“版本”:“8.0.18”}}}
警告

使用新元数据的集群不能由以前的MySQL Shell版本管理,例如,一旦升级到8.0.19版本,就不能再使用8.0.18或更早版本来管理集群。

要升级群集的元数据,请将MySQL Shell的全局会话连接到群集并使用dba.upgradeMetadata ()将集群的元数据升级为新的元数据的操作。例如:

mysql-js> \ connect user@example.com:3306 MySQL-JS> DBA.UPGRADEMETADATA()INNODB群集元数据升级您所连接的群集使用过时的元数据模式1.0.1版,需要升级到2.0。0。如果不执行此升级,则允许除了只读操作之外的Adminapi调用。在需要更新引导时自动创建的MySQL路由器帐户的补助金,以匹配新的元数据版本的要求。更新路由器帐户...注意:2路由器帐户已更新。从版本1.0.1到版本2.0.0升级“example.com:3306”的元数据。创建元数据架构的备份...第1步骤1:从1.0.1升级到2.0.0 ...删除元数据备份...升级过程成功完成,Metadata架构现在在2.0.0版上

如果遇到与群集管理用户缺少权限相关的错误,请使用集群.setupadminaccount()使用更新选项操作以授予用户正确的权限。看配置adminapi的用户