MySQL 8.0外壳// MySQL壳开始时创建会话全局对象

4.2.1创建准备会话全局对象同时启动MySQL壳

当你开始MySQL从命令行Shell,您可以指定连接参数使用单独的命令选项为每个值,如用户名、主机和端口。说明和示例开始MySQL壳牌和连接到MySQL服务器实例这样,明白了4.3.1节,“连接使用单个参数”。当你使用这种连接方法,您可以添加一个选项来选择会话对象的类型在启动时创建的会话全局对象:

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

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

例如,这个命令启动MySQL壳牌和建立一个X协议连接到本地MySQL服务器实例在端口33060监听:

壳> mysqlsh——mysqlx - u用户- h localhost - p 33060

如果你开始MySQL壳牌在SQL模式,——sqlx——sqlc选项包括选择会话对象类型,所以您可以指定其中一个MySQL外壳利用X协议或经典MySQL协议连接。为所有的参考mysqlsh命令行选项,请参阅部分背书,“mysqlsh - MySQL壳”

作为一种替代方法使用单个选项指定连接参数,您可以使用一个类uri指定它们连接字符串。你可以通过这个字符串当你开始MySQL从命令行Shell,有或没有使用可选的——uri命令选项。当你使用这种连接方法,您可以包括计划元素的类uri连接字符串来选择要创建的会话对象类型。mysqlx创建一个会话对象使用X协议,或mysql创建一个ClassicSession对象使用经典的MySQL协议。例如,这两个命令使用一个类uri连接字符串开始MySQL壳牌和创建一个经典的MySQL协议连接到本地MySQL服务器实例在端口3306监听:

壳> mysqlsh - uri mysql: / /用户@localhost: 3306壳> mysqlsh mysql: / /用户@localhost: 3306

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

壳> mysqlsh——mysql uri用户@localhost: 3306

说明和示例连接到MySQL服务器实例这样,明白了使用类uri字符串连接到服务器或键-值对

你可以省略连接协议,让MySQL壳自动检测它根据你其他连接参数。例如,如果您指定端口33060和没有选项说明连接协议,MySQL壳尝试使用X协议的连接。如果你的连接参数不显示协议,MySQL外壳首先尝试使用X协议连接,如果这失败,试图使连接使用经典的MySQL协议。