MySQL Shell 8.0的功能、安装及命令

MySQL Shell是MySQL Server的高级客户端和代码编辑器。MySQL Shell提供以下功能:

第1章、MySQL Shell功能

支持的语言

MySQL Shell用以下语言处理代码:JavaScript,Python和SQL。根据当前处于活动状态的语言,将任何输入的代码作为这些语言之一进行处理。还有一些特定的MySQL Shell命令,带有前缀 \,使您可以配置MySQL Shell,而与当前选择的语言无关。

交互式代码执行

MySQL Shell提供了一种交互式代码执行模式,您可以在MySQL Shell提示符下键入代码并处理每个输入的语句,并将处理结果打印在屏幕上。使用中的终端支持Unicode文本输入。支持彩色终端。

可以使用命令编写多行代码,使MySQL Shell可以缓存多行,然后将其作为一条语句执行。

批处理代码执行

除了交互执行代码外,MySQL Shell还可以从不同来源获取代码并进行处理。这种以非交互方式处理代码的方法称为 批处理执行。

由于批处理执行模式旨在用于单一语言的脚本处理,因此它仅限于具有最少的非格式化输出并禁用命令的执行。为了避免这些限制,请使用--interactive 命令行选项,该选项告诉MySQL Shell执行输入,就好像它是交互式会话一样。在此模式下,逐行处理输入,就像在交互式会话中键入每行一样。

支持的API

MySQL Shell包含以下用JavaScript和Python实现的API,可用于开发与MySQL交互的代码。

  • 当MySQL Shell使用X协议连接到MySQL服务器时,X DevAPI使您可以使用关系数据和文档数据。
  • AdminAPI使您可以使用InnoDB集群,该集群使用基于InnoDB的MySQL数据库提供了高可用性和可伸缩性的集成解决方案,而无需高级MySQL专业知识。

X协议支持

MySQL Shell旨在为所有支持X协议的MySQL产品提供集成的命令行客户端。MySQL Shell的开发功能专为使用X协议的会话而设计。MySQL Shell还可以使用旧版MySQL协议连接到不支持X协议的MySQL服务器。X DevAPI的最少功能集可用于使用旧版MySQL协议创建的会话。

扩展名

您可以以报告和扩展对象的形式定义对MySQL Shell基本功能的扩展。可以使用JavaScript或Python创建报告和扩展对象,并且无论活动的MySQL Shell语言如何,都可以使用报告和扩展对象。您可以将报表和扩展对象保留在MySQL Shell启动时自动加载的插件中。MySQL Shell具有几个可供使用的内置报告。

实用工具

MySQL Shell包含以下用于MySQL的实用程序:

  • 升级检查器实用程序,用于验证MySQL服务器实例是否已准备好进行升级。使用 util.checkForServerUpgrade()访问升级检查。
  • JSON导入实用程序,用于将JSON文档导入到MySQL Server集合或表中。使用 util.importJSON()访问导入实用程序。
  • 并行表导入实用程序,用于拆分单个数据文件,并使用多个线程将块加载到MySQL表中。

API命令行集成

MySQL Shell使用API​​命令语法公开了许多功能,使您能够轻松地将mysqlsh与其他工具集成 。例如,您可以创建bash脚本来使用此功能管理InnoDB集群。使用语法可绕过REPL接口将操作直接传递给MySQL Shell全局对象。

输出格式

MySQL Shell可以表、选项卡或垂直格式或JSON输出形式返回结果。为了帮助将MySQL Shell与外部工具集成在一起,可以在从命令行启动MySQL Shell时为所有输出激活JSON包装。

记录和调试

MySQL Shell可以按您选择的详细级别记录有关执行过程的信息。日志信息可以发送到应用程序日志文件,其他可见目标和控制台的任意组合。

全球会话

在MySQL Shell中,与MySQL Server实例的连接由会话对象处理。当您首次建立与MySQL Server实例的连接时(可以在启动MySQL Shell时执行,也可以在之后进行),将session创建一个名为MySQL Shell全局对象 来表示此连接。该会话称为全局会话,因为它可以在所有MySQL Shell执行模式中使用。在SQL模式下,全局会话用于执行语句;在JavaScript模式和Python模式下,全局会话可通过名为的对象使用session。您可以使用和模块mysqlx 以及mysqlJavaScript和Python模块中可用的功能来创建其他会话对象,并且可以将这些会话对象之一设置为 session全局对象,因此您可以在任何模式下使用它。

 

参考文献:https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-features.html

 

第2章、MySQL Shell安装

最新版的MySQL Shell下载地址:https://dev.mysql.com/downloads/shell/

 

若下载其他版本的MySQL Shell,去MySQL官网的的下载社区:

 

将下载的glibc版的压缩包上传到服务器:

直接解压后进入目录:

输入命令可直接进入MySQL Shell。

 

第3章、MySQL Shell命令

MySQL Shell提供的命令使您能够修改代码编辑器的执行环境,例如,配置活动的编程语言或MySQL Server连接。下表列出了与当前选择的语言无关的可用命令。由于命令需要独立于执行模式而可用,因此它们以转义序列(\ 字符)开头。

命令

别名/快捷方式

描述

\help

\h 要么 \?

打印有关MySQL Shell的帮助,或搜索在线帮助。

\quit

\q 要么 \exit

退出MySQL Shell。

\

 

在SQL模式下,开始多行模式。输入空行时,将缓存并执行代码。

\status

\s

显示当前的MySQL Shell状态。

\js

 

将执行模式切换为JavaScript。

\py

 

将执行模式切换为Python。

\sql

 

将执行模式切换为SQL。

\connect

\c

连接到MySQL服务器。

\reconnect

 

重新连接到同一MySQL服务器。

\use

\u

指定要使用的架构。

\source

\.或source(无反斜杠)

使用活动语言执行脚本文件。

\warnings

\W

显示语句生成的任何警告。

\nowarnings

\w

不要显示语句生成的任何警告。

\history

 

查看和编辑命令行历史记录。

\rehash

 

手动更新自动完成名称缓存。

\option

 

查询和更改MySQL Shell配置选项。

\show

 

使用提供的选项和参数运行指定的报告。

\watch

 

使用提供的选项和参数运行指定的报告,并定期刷新结果。

\edit

\e

在默认系统编辑器中打开一个命令,然后将其显示在MySQL Shell中。

\system

\!

运行指定的操作系统命令,并在MySQL Shell中显示结果。

帮助命令

该\help命令可以使用或不使用参数。如果不带参数使用,则会打印一条常规帮助消息,其中包括有关可用的MySQL Shell命令,全局对象和主要帮助类别的信息。

 

连接和重新连接命令

该\connect命令用于连接到MySQL服务器,如果需要密码,则会提示您输入密码。

 

\reconnect指定 的命令没有任何参数或选项。如果与服务器的连接丢失,则可以使用\reconnect命令,这使MySQL Shell使用现有的连接参数尝试多次会话重新连接尝试。如果这些尝试失败,则可以使用\connect命令并指定连接参数来建立新的连接。

 

状态指令

该\status命令显示有关当前全局连接的信息。这包括有关所连接的服务器,正在使用的字符集,正常运行时间等信息。

 

源命令

\source用来执行指定路径的脚本文件代码,在相应模式下可以执行SQL、JavaScript或Python任一种语言代码,当然用MySQL Shell执行SQL代码必须要在SQL模式下的。

\source /tmp/mydata.sql

 

\use 命令

要求活动的全局发展会话,\use命令将当前图表设置为特定的schema_name ,并将db变量更新到代表所选图表的对象中。

\use schema_name

 

历史命令

该\history命令列出了您先前在MySQL Shell中发出的命令。

 

  • \history save 用以存储历史记录
  • \history delete entrynumber 用以删除给定序号的历史条目
  • \history delete firstnumber-[lastnumber] 用以删除指定范围的历史条目
  • \history clear 用以清空历史记录

Rehash命令

\rehash 手动更新缓存,比如\use schema下载了一个新的图表到内存,\rehash更新自动完成的缓存。

 

Pager命令

可以设置MySQL Shell用一个外部的Pager命令来显示屏幕输出,如在线帮助或SQL检索结果。

 

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值