MySQL Shell 9.0.0

摘要

MySQL Shell 是一款适用于 MySQL 的高级客户端和代码编辑器。本文档介绍了 MySQL Shell 的核心功能。除了提供的类似于 mysql 的 SQL 功能外,MySQL Shell 还提供了 JavaScript 和 Python 的脚本功能,并包含用于操作 MySQL 的 API。X DevAPI 使您能够处理关系数据和文档数据,请参阅 将 MySQL 用作文档存储。AdminAPI 使您能够使用 InnoDB 集群、InnoDB ClusterSet 和 InnoDB 副本集。

强烈建议将 MySQL Shell 9.0.0 与任何 GA 版本的 MySQL 8.0 或更高版本一起使用。请升级到 MySQL Shell 9.0.0。如果尚未安装 MySQL Shell,请从 下载站点 下载。

有关每个版本中更改的详细说明,请参阅 MySQL Shell 发行说明

如需有关使用 MySQL 的帮助,请访问 MySQL 论坛,您可以在其中与其他 MySQL 用户讨论您的问题。

许可信息。  本产品可能包含根据许可使用的第三方软件。如果您使用的是 商业 版本的 MySQL Shell,请参阅 MySQL Shell 商业许可信息用户手册 以获取许可信息,包括可能包含在本商业版本中的第三方软件的许可信息。如果您使用的是 社区 版本的 MySQL Shell,请参阅 MySQL Shell 社区许可信息用户手册 以获取许可信息,包括可能包含在本社区版本中的第三方软件的许可信息。

文档生成时间:2024-07-18(修订版:79064)

目录

1 MySQL Shell 功能
2 安装 MySQL Shell
2.1 在 Microsoft Windows 上安装 MySQL Shell
2.2 在 Linux 上安装 MySQL Shell
2.3 在 macOS 上安装 MySQL Shell
3 使用 MySQL Shell 命令
3.1 MySQL Shell 命令
4 MySQL Shell 入门
4.1 启动 MySQL Shell
4.2 MySQL Shell 会话
4.2.1 在启动 MySQL Shell 时创建 Session 全局对象
4.2.2 在启动 MySQL Shell 后创建 Session 全局对象
4.2.3 在 JavaScript 和 Python 模式下编写脚本会话
4.3 MySQL Shell 连接
4.3.1 使用单个参数进行连接
4.3.2 使用登录路径和选项文件进行连接
4.3.3 使用 Unix 套接字和 Windows 命名管道进行连接
4.3.4 使用加密连接
4.3.5 使用 LDAP 和 Kerberos 身份验证
4.3.6 使用 SSH 隧道
4.3.7 使用压缩连接
4.4 可插拔密码存储
4.4.1 可插拔密码配置选项
4.4.2 使用凭据
4.5 MySQL Shell 全局对象
4.6 使用分页器
4.7 云服务配置
4.7.1 Oracle Cloud Infrastructure 对象存储
4.7.2 与 S3 兼容的存储
4.7.3 Azure Blob 存储
4.8 OCI 身份验证连接选项
5 MySQL Shell 代码执行
5.1 活动语言
5.2 交互式代码执行
5.3 代码自动完成
5.4 编辑代码
5.5 代码历史记录
5.6 批量代码执行
5.7 输出格式
5.7.1 表格格式
5.7.2 制表符分隔格式
5.7.3 垂直格式
5.7.4 JSON 格式输出
5.7.5 JSON 包装
5.7.6 结果元数据
5.8 API 命令行集成
5.8.1 命令行集成概述
5.8.2 命令行集成详细信息
5.9 JSON 集成
6 MySQL AdminAPI
6.1 使用 MySQL AdminAPI
6.2 安装 AdminAPI 软件组件
6.2.1 配置主机名
6.2.2 连接到服务器实例
6.2.3 持久化设置
6.3 检索处理程序对象
6.4 为 AdminAPI 创建用户帐户
6.5 详细日志记录
6.6 查找主节点
6.7 编写 AdminAPI 脚本
6.8 AdminAPI MySQL 沙箱
6.8.1 部署沙箱实例
6.8.2 管理沙箱实例
6.8.3 设置 InnoDB 集群和 MySQL 路由器
6.9 标记元数据
6.10 将 MySQL 路由器与 AdminAPI、InnoDB 集群和 InnoDB 副本集一起使用
6.10.1 引导 MySQL 路由器
6.10.2 配置 MySQL 路由器用户
6.10.3 部署 MySQL 路由器
6.10.4 路由选项
6.10.5 将副本集与 MySQL 路由器一起使用
6.10.6 测试 InnoDB 集群高可用性
6.10.7 使用集群的路由器
6.11 升级元数据架构
6.12 AdminAPI 操作的锁定机制
6.13 在拓扑上执行 SQL
7 MySQL InnoDB 集群
7.1 InnoDB 集群要求
7.2 InnoDB 集群限制
7.3 InnoDB 集群的用户帐户
7.4 部署生产 InnoDB 集群
7.4.1 预先检查 InnoDB 集群使用情况的实例配置
7.4.2 为 InnoDB 集群使用情况配置生产实例
7.4.3 创建 InnoDB 集群
7.4.4 将实例添加到 InnoDB 集群
7.4.5 配置 InnoDB 集群端口
7.4.6 将 MySQL 克隆与 InnoDB 集群一起使用
7.4.7 采用组复制部署
7.5 配置 InnoDB 集群
7.5.1 为 InnoDB 集群设置选项
7.5.2 自定义 InnoDB 集群成员服务器
7.5.3 配置选举流程
7.5.4 配置故障转移一致性
7.5.5 配置实例的自动重新加入
7.5.6 配置并行复制应用器
7.5.7 InnoDB 集群和自动递增
7.5.8 InnoDB 集群和二进制日志清除
7.5.9 配置组复制通信栈
7.6 保护 InnoDB 集群的安全
7.7 监控 InnoDB 集群
7.8 还原和重启 InnoDB 集群
7.8.1 将实例重新加入集群
7.8.2 从仲裁丢失中还原集群
7.8.3 从重大故障中重启集群
7.8.4 重新扫描集群
7.8.5 隔离集群
7.9 修改或解散 InnoDB 集群
7.10 升级 InnoDB 集群
7.10.1 InnoDB 集群升级
7.10.2 故障排除 InnoDB 集群升级
7.11 MySQL InnoDB 集群只读副本
7.11.1 先决条件
7.11.2 创建只读副本
7.11.3 修改或删除只读副本
7.11.4 监控只读副本
8 MySQL InnoDB ClusterSet
8.1 InnoDB ClusterSet 要求
8.2 InnoDB ClusterSet 限制
8.3 InnoDB ClusterSet 的用户帐户
8.4 部署 InnoDB ClusterSet
8.4.1 异步复制通道选项
8.5 将 MySQL 路由器与 InnoDB ClusterSet 集成
8.6 InnoDB ClusterSet 状态和拓扑
8.7 InnoDB ClusterSet 受控切换
8.8 InnoDB ClusterSet 紧急故障转移
8.9 InnoDB ClusterSet 修复和重新加入
8.9.1 隔离 InnoDB ClusterSet 中的集群
8.9.2 InnoDB ClusterSet 集群中的不一致事务集(GTID 集)
8.9.3 修复 InnoDB ClusterSet 中的成员服务器和集群
8.9.4 从 InnoDB ClusterSet 中删除集群
8.9.5 将集群重新加入 InnoDB ClusterSet
8.10 解散 ClusterSet
8.11 升级 InnoDB ClusterSet
9 MySQL InnoDB 副本集
9.1 部署 InnoDB 副本集
9.2 配置 InnoDB 副本集实例
9.3 创建 InnoDB 副本集
9.4 异步复制通道选项
9.5 将实例添加到副本集
9.5.1 为 InnoDB 副本集配置实例
9.5.2 将实例添加到副本集的示例
9.6 采用现有的复制设置
9.7 更改主实例
9.8 强制使用新的主实例
9.9 标记副本集
9.10 检查 InnoDB 副本集的状态
9.11 升级 InnoDB 副本集
9.12 解散副本集
9.13 重新扫描副本集
9.14 描述副本集
10 扩展 MySQL Shell
10.1 使用 MySQL Shell 生成报告
10.1.1 创建 MySQL Shell 报告
10.1.2 注册 MySQL Shell 报告
10.1.3 持久化 MySQL Shell 报告
10.1.4 MySQL Shell 报告示例
10.1.5 运行 MySQL Shell 报告
10.1.6 内置 MySQL Shell 报告
10.2 将扩展对象添加到 MySQL Shell
10.2.1 创建用户定义的 MySQL Shell 全局对象
10.2.2 创建扩展对象
10.2.3 持久化扩展对象
10.2.4 MySQL Shell 扩展对象示例
10.3 MySQL Shell 插件
10.3.1 创建 MySQL Shell 插件
10.3.2 创建插件组
10.3.3 MySQL Shell 插件示例
10.4 自定义 SQL 处理程序
10.4.1 注册 SQL 处理程序
10.4.2 返回自定义结果
10.4.3 结果数据规范
11 MySQL Shell 实用程序
11.1 升级检查器实用程序
11.2 JSON 导入实用程序
11.2.1 运行实用程序
11.2.2 使用 Mysqlsh 命令界面导入 JSON 文档
11.2.3 使用 --import 命令导入 JSON 文档
11.2.4 BSON 数据类型表示形式的转换
11.3 表格导出实用程序
11.4 并行表格导入实用程序
11.5 实例转储实用程序、架构转储实用程序和表格转储实用程序
11.6 转储加载实用程序
11.7 复制实例、架构和表格
11.8 诊断实用程序
11.8.1 collectDiagnostics 实用程序
11.8.2 collectHighLoadDiagnostics 实用程序
11.8.3 collectSlowQueryDiagnostics 实用程序
12 MySQL Shell 日志记录和调试
12.1 应用程序日志
12.2 详细输出
12.3 用户 SQL 语句的系统日志记录
12.4 MySQL Shell SQL 日志记录
13 自定义 MySQL Shell
13.1 使用启动脚本
13.2 添加模块搜索路径
13.2.1 模块搜索路径环境变量
13.2.2 启动脚本中的模块搜索路径变量
13.3 自定义提示符
13.4 配置 MySQL Shell 选项
A MySQL Shell 命令参考
A.1 mysqlsh — MySQL Shell