### 20.4.1 MySQL 外壳

[](<>)

本快速入门指南假定您对 MySQL Shell 有一定程度的熟悉。以下部分是高级概述，有关更多信息，请参阅 MySQL Shell 文档。MySQL Shell 是 MySQL 服务器的统一脚本接口。它支持 JavaScript 和 Python 中的脚本。JavaScript 是默认的处理模式。

#### 启动 MySQL Shell

安装并启动 MySQL 服务器后，将 MySQL Shell 连接到服务器实例。您需要知道您计划连接的 MySQL 服务器实例的地址。为了能够将该实例用作文档存储，服务器实例必须安装 X 插件，并且您应该使用 X 协议连接到服务器。例如连接到实例`ds1.example.com`在默认的 X 协议端口 33060 上使用网络字符串`*`用户`*@ds1.example.com:33060`.

提示

如果您使用经典 MySQL 协议连接到实例，例如使用默认协议[`港口`](server-system-variables.html#sysvar_port)的 3306 而不是[`mysqlx_port`](x-plugin-options-system-variables.html#sysvar_mysqlx_port)， 你*不能*使用本教程中显示的文档存储功能。例如`D b`未填充全局对象。要使用文档存储，请始终使用 X 协议进行连接。

如果 MySQL Shell 尚未运行，请打开终端窗口并发出：

```
mysqlsh user@ds1.example.com:33060/world_x
```

或者，如果 MySQL Shell 已经在运行，请使用`\连接`通过发出命令：

```
\connect user@ds1.example.com:33060/world_x
```

您需要指定要将 MySQL Shell 连接到的 MySQL 服务器实例的地址。例如在前面的例子中：

-   *`用户`*代表您的 MySQL 帐户的用户名。

-   `ds1.example.com`是运行 MySQL 的服务器实例的主机名。将此替换为您用作文档存储的 MySQL 服务器实例的主机名。

-   此会话的默认架构是`世界_x`.有关设置的说明`世界_x`架构，见[第 20.4.2 节，“下载和导入世界\_x 数据库”](mysql-shell-tutorial-python-download.html).

    有关详细信息，请参阅[第 4.2.5 节，“使用类似 URI 的字符串或键值对连接到服务器”](connecting-using-uri-or-key-value-pairs.html).

    一旦 MySQL Shell 打开，`mysql-js>`prompt 指示此会话的活动语言是 JavaScript。要将 MySQL Shell 切换到 Python 模式，请使用`\py`命令。


```
mysql-js> \py
Switching to Python mode...
mysql-py>
```

MySQL Shell 支持如下输入行编辑：

-   **左箭头**和**右箭头**键在当前输入行内水平移动。

-   **向上箭头**和**向下箭头**键在一组先前输入的行中上下移动。

-   **退格**删除光标之前的字符，键入新字符会在光标位置输入它们。

-   **进入**将当前输入行发送到服务器。

#### 获取 MySQL Shell 的帮助

[](<>)

类型**mysqlsh --帮助**在命令解释器的提示下获取命令行选项列表。

```
mysqlsh --help
```

类型`\帮助`在 MySQL Shell 提示符下获取可用命令及其描述的列表。

```
mysql-py> \help
```

类型`\帮助`后跟命令名称以获取有关单个 MySQL Shell 命令的详细帮助。例如，要查看有关`\连接`命令，发出：

```
mysql-py> \help \connect
```

#### 退出 MySQL Shell

[](<>)

要退出 MySQL Shell，请发出以下命令：

```
mysql-py> \quit
```

#### 相关信息

-   看[交互式代码执行](https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-interactive-code-execution.html)有关如何在 MySQL Shell 中执行交互式代码的说明。

-   看[MySQL Shell 入门](https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-getting-started.html)了解会话和连接替代方案。
