一、介绍
MySQL Shell是MySQL InnoDB Cluster集群的管理工具,负责管理维护整改InnoDB Cluster,MySQL Shell是MySQL Server的高级客户端和代码编辑器。除了提供的SQL功能,类似于 mysql,MySQL Shell还提供了JavaScript和Python的脚本功能,并包含用于MySQL的API。
二、环境准备
| 主机名 |
IP地址 |
角色 |
| oratest51 |
172.16.9.51 |
primary |
| oratest52 |
172.16.9.52 |
seconde |
| test61 |
172.16.9.61 |
seconde |
| node4 |
172.16.8.68 |
MySQL Router |
操作系统:CentOS Linux release 7.2.1511
MySQL版本:mysql-5.7.26-linux-glibc2.12-x86_64
MySQL Router版本:mysql-router-8.0.17-linux-glibc2.12-x86_64
MySQL Shell版本:mysql-shell-8.0.17-linux-glibc2.12-x86-64bit
三、MySQL Shell安装
3.1在三台MGR上分别安装MySQL Shell
# rpm -ivh mysql-shell-8.0.17-1.el7.x86_64.rpm
四、MySQL Shell常用命令
4.1常用命令
| 命令 |
描述 |
| shell.connect('root@172.16.9.51:3306') |
连接到实例 |
| var cluster = dba.getCluster() |
定义集群信息 |
| cluster.status(); |
查看集群状态 |
4.2配置命令
| 命令 |
描述 |
| dba.getCluster(); |
查看集群名 |
| cluster.status(); |
查看集群状态 |
| dba.checkInstanceConfiguration('root@172.16.9.52:3306') |
检查节点状态是否正常 |
| dba.configureLocalInstance(); |
检查/etc/my.cnf是否正常 |
| var cluster = dba.createCluster('myCluster'); |
创建一个名为myCluster的集群 |
| dba.createCluster('st'); |
创建一个名字为st的集群 |
| cluster.addInstance('root@oratest52:3306'); |
集群添加节点 |
4.3通用命令
| 命令 |
别名/快捷方式 |
描述 |
| \help |
\h or ? |
打印有关MySQL Shell的帮助,或搜索联机帮助。 |
| \quit |
\q or \exit |
退出MySQL Shell。 |
| \ |
|
在SQL模式下,开始多行模式。输入空行时缓存并执行代码。 |
| \status |
\s |
显示当前的MySQL Shell状态。 |
| \js |
|
将执行模式切换为JavaScript。 |
| \py |
|
将执行模式切换为Python。 |
| \sql |
|
将执行模式切换为SQL。 |
| \connect |
\c |
连接到MySQL服务器。 |
| \reconnect |
|
重新连接到同一个MySQL服务器。 |
| \use |
\u |
指定要使用的架构。 |
| \source |
\. |
使用活动语言执行脚本文件。 |
| \warnings |
\W |
显示语句生成的任何警告。 |
| \nowarnings |
\w |
不要显示语句生成的任何警告。 |
| \history |
|
查看和编辑命令行历史记录。 |
| \rehash |
|
手动更新自动完成名称缓存。 |
| \option |
|
查询和更改MySQL Shell配置选项。 |
| \show |
|
使用提供的选项和参数运行指定的报告。 |
| \watch |
|
使用提供的选项和参数运行指定的报告,并定期刷新结果。 |