MySQL Shell 8.4.0

摘要

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

强烈建议将 MySQL Shell 8.4.0 与任何 GA 版本的 MySQL 8.0 或更高版本一起使用。请升级到 MySQL Shell 8.4.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 ReplicaSet 配合使用
6.10.1 引导 MySQL 路由器
6.10.2 配置 MySQL 路由器用户
6.10.3 部署 MySQL 路由器
6.10.4 路由选项
6.10.5 将 ReplicaSets 与 MySQL 路由器配合使用
6.10.6 测试 InnoDB 集群高可用性
6.10.7 使用集群的路由器
6.11 升级元数据架构
6.12 AdminAPI 操作的锁定机制
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 Clone 与 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 集群集
8.1 InnoDB 集群集要求
8.2 InnoDB 集群集限制
8.3 InnoDB 集群集用户帐户
8.4 部署 InnoDB 集群集
8.4.1 异步复制通道选项
8.5 将 MySQL 路由器与 InnoDB 集群集集成
8.6 InnoDB 集群集状态和拓扑
8.7 InnoDB 集群集受控切换
8.8 InnoDB 集群集紧急故障转移
8.9 InnoDB 集群集修复和重新加入
8.9.1 在 InnoDB 集群集中隔离集群
8.9.2 InnoDB 集群集集群中的不一致事务集(GTID 集)
8.9.3 修复 InnoDB 集群集中成员服务器和集群
8.9.4 从 InnoDB 集群集中移除集群
8.9.5 将集群重新加入 InnoDB 集群集
8.10 升级 InnoDB 集群集
9 MySQL InnoDB ReplicaSet
9.1 部署 InnoDB ReplicaSet
9.2 配置 InnoDB ReplicaSet 实例
9.3 创建 InnoDB ReplicaSet
9.4 异步复制通道选项
9.5 将实例添加到 ReplicaSet
9.5.1 为 InnoDB ReplicaSet 预置实例
9.5.2 将实例添加到 ReplicaSet 的示例
9.6 采用现有的复制设置
9.7 更改主实例
9.8 强制使用新的主实例
9.9 标记 ReplicaSet
9.10 检查 InnoDB ReplicaSet 的状态
9.11 升级 InnoDB ReplicaSet
9.12 解散 ReplicaSet
9.13 重新扫描 ReplicaSet
9.14 描述 ReplicaSet
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 插件示例
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