Documentation Home
MySQL 外壳 8.0  / 第 4 章 MySQL Shell 入门  / 4.2 MySQL Shell 会话  /  4.2.1 启动 MySQL Shell 时创建会话全局对象

4.2.1Session启动 MySQL Shell 时创建全局对象

从命令行启动 MySQL Shell 时,可以使用单独的命令选项为每个值指定连接参数,例如用户名、主机和端口。有关以这种方式启动 MySQL Shell 并连接到 MySQL Server 实例的说明和示例,请参阅 第 4.3.1 节,“使用单个参数连接”。当您使用此连接方法时,您可以添加以下选项之一来选择在启动时创建的会话对象类型作为session全局对象:

  • --mysqlx ( --mx) 创建一个 Session对象,它使用 X 协议连接到 MySQL 服务器实例。

  • --mysql ( --mc) 创建一个 ClassicSession对象,它使用经典的 MySQL 协议连接到 MySQL 服务器实例。

例如,此命令启动 MySQL Shell 并建立到侦听端口 33060 的本地 MySQL 服务器实例的 X 协议连接:

$> mysqlsh --mysqlx -u user -h localhost -P 33060

如果您以 SQL 模式启动 MySQL Shell,则 --sqlx--sqlc选项包括会话对象类型的选择,因此您可以指定其中之一,而不是使 MySQL Shell 使用 X 协议或经典 MySQL 协议进行连接。有关所有 mysqlsh命令行选项的参考,请参阅 第 A.1 节,“mysqlsh — MySQL Shell”

作为使用单个选项指定连接参数的替代方法,您可以使用类似 URI 的连接字符串来指定它们。您可以在从命令行启动 MySQL Shell 时传入此字符串,使用或不使用可选--uri命令选项。使用此连接方法时,您可以 scheme在类似 URI 的连接字符串的开头包含该元素,以选择要创建的会话对象的类型。使用 X 协议 mysqlx创建一个 对象,或者创建一个 SessionmysqlClassicSession使用经典 MySQL 协议的对象。例如,这些命令中的任何一个都使用类似 URI 的连接字符串来启动 MySQL Shell 并创建一个经典的 MySQL 协议连接到侦听端口 3306 的本地 MySQL Server 实例:

$> mysqlsh --uri mysql://user@localhost:3306
$> mysqlsh mysql://user@localhost:3306

您还可以将连接协议指定为一个选项,而不是作为类似 URI 的连接字符串的一部分,例如:

$> mysqlsh --mysql --uri user@localhost:3306

有关以这种方式连接到 MySQL 服务器实例的说明和示例,请参阅 使用类似 URI 的字符串或键值对连接到服务器

您可以省略连接协议,让 MySQL Shell 根据您的其他连接参数自动检测它。例如,如果您指定端口 33060 并且没有说明连接协议的选项,则 MySQL Shell 会尝试使用 X 协议建立连接。如果您的连接参数未指明协议,MySQL Shell 首先尝试使用 X 协议建立连接,如果失败,则尝试使用经典 MySQL 协议建立连接。