图文结合丨带你轻松玩转MySQL Shell for GreatSQL

一、引言

1.1 什么是MySQL Shell ?

MySQL Shell 是 MySQL 的一个高级客户端和代码编辑器,是第二代 MySQL 客户端。第一代 MySQL 客户端即我们常用的 MySQL 。除了提供类似于 MySQL 的 SQL 功能外,MySQL Shell 还提供 JavaScript 和 Python 脚本功能,并包括与 MySQL 一起使用的 API 。MySQL Shell 除了可以对数据库里的数据进行操作,还可以对数据库进行管理,特别是对MGR的支持,使用MySQL Shell 可以非常方便的对MGR进行搭建、管理、配置等

1.2 什么是MySQL Shell for GreatSQL ?

MySQL Shell for GreatSQL 的出现是因为在 GreatSQL 8.0.25-16 版本的时候引入了MGR仲裁节点(投票节点)的新特性,MySQL提供的MySQL Shell无法识别该特性,因此我们提供了 MySQL Shell for GreatSQL 版本,以下就称为MySQL Shell for GreatSQL

但是!因为 JS 库中含有商业库,所以GreatSQL社区在编译的时候就没有加上 JS 的脚本功能。

大家使用的时候不要一直输入js说怎么切换不过去了 🙂

不过Python模式的语法和JavaScript模式的语法是大同小异的,举个例子:

JavaScript 语法 Python 语法
var c=dba.getCluster() c=dba.get_cluster()
c.status() c.status()
c.setPrimaryInstance() c.set_primary_instance()

不过就是变量名命名风格些许不同而已,本质上是没有区别的。本文也将使用 GreatSQL Shell-8.0.25-16 中 Python 模式来带你玩转 MySQL Shell for GreatSQL

二、安装与配置

2.1 安装 MySQL Shell for GreatSQL

首先我们先下载MySQL Shell for GreatSQL,下载地址在GreatSQL的gitee仓库,和我们的GreatSQL 8.0.32-24新版本放在一起:https://gitee.com/GreatSQL/GreatSQL/releases/tag/GreatSQL-8.0.32-24。进入下载文件列表最下方就是我们的MySQL Shell for GreatSQL,大家按机器和架构下载对应版本~

本文机器环境是CentOS7.9-x86-64所以下载第一个即可

$ cat /etc/system-release CentOS Linux release 7.9.2009 (Core) $ uname -a Linux hy 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux