4.2 MySQL Shell会话

在MySQL中外壳,连接到MySQL服务器实例是由一个会话对象。以下类型的会话对象是可用的:

  • 会话新应用程序开发:使用这个会话对象类型与MySQL服务器实例X协议是可用的。X协议提供了最好的集成与MySQL服务器。X X协议可用插件必须安装和启用MySQL服务器实例,它在默认情况下从MySQL 8.0。在MySQL 5.7 X插件必须手动安装。看到X插件获取详细信息。X插件听指定的端口mysqlx_port默认为33060,所以指定该端口连接使用会话

  • ClassicSession:使用这个会话对象类型与MySQL服务器实例没有X协议可用。这个对象是用于运行SQL服务器使用经典的MySQL协议。开发API可用于这种会话是非常有限的。例如,没有X DevAPI CRUD操作,没有收集处理,不支持和绑定。发展,更喜欢会话尽可能的对象。

重要的

ClassicSession是特定于MySQL的外壳,不能用于其他实现X DevAPI,比如MySQL连接器。

当你第一次连接到MySQL服务器实例,它可以同时启动MySQL壳或之后,MySQL壳牌全球对象命名会话创建代表此连接。这个特殊的会话对象是全球性的,因为一旦创建,它可以用于所有的MySQL Shell执行模式:SQL模式中,JavaScript模式,和Python模式。它所代表的连接,因此被称为全球会议。的变量会话持有这个会话对象,可用于MySQL壳牌在JavaScript模式和Python模式与连接。

会话全局对象可以是会话会话对象或者类型ClassicSession根据协议类型的会话对象,您选择时连接到MySQL服务器实例。你可以选择协议,因此会话对象类型,使用一个命令选项,或者指定它作为连接数据的一部分提供。当前全球会话信息,问题:

mysql-js [] < ClassicSession: user@example.com: 3330 > >会话

当全球会话连接,这表明会话对象类型和MySQL服务器实例的地址全球会话连接。

如果你选择一个协议明确或暗示时隐式连接,MySQL壳试图创建连接使用的协议,并返回一个错误如果这个失败。如果你的连接参数不显示协议,MySQL外壳首先尝试使用X协议(返回的连接会话类型的会话对象),如果失败,试图让使用经典的MySQL协议(返回的连接ClassicSession类型的会话对象)。

来验证您的连接尝试的结果,使用MySQL壳牌\状态命令或shell.status ()方法。这些显示连接协议和其他连接所代表的信息会话全局对象,或者退货没有连接如果会话全局对象不是连接到一个MySQL服务器。例如:

mysql-js [] > shell.status () MySQL Shell版本8.0.18会话类型:X协议连接Id: 198当前模式:当前用户:user@example.com SSL:在使用密码:TLS_AES_256_GCM_SHA384 TLSv1.3使用分隔符:;服务器版本:8.0.18 MySQL社区服务器- GPL协议版本:X协议客户端库:8.0.18连接:TCP / IP TCP端口:33060服务器characterset: utf8mb4模式characterset: utf8mb4客户机characterset: utf8mb4口characterset: utf8mb4压缩:启用(zstd)正常运行时间:31分钟42.0000秒线程:8问题:2622慢速查询:0打开:298平表:3打开表:每秒217查询avg: 1.378

本节着重解释代表连接到MySQL服务器的会话对象实例,和会话全局对象。完全说明和例子在这一节中提到的方式连接到MySQL服务器实例,和其他选项可用连接,看到的4.3节,“MySQL壳连接”