一、介绍
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 | 使用提供的选项和参数运行指定的报告,并定期刷新结果。 |