一、介紹
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 |
|
使用提供的選項和參數運行指定的報告,並定期刷新結果。 |