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

4.2.2Session启动MySQL Shell后创建全局对象

如果您在没有连接到 MySQL 服务器实例的情况下启动 MySQL Shell,则可以使用 MySQL Shell 的\connect 命令或shell.connect()方法来启动连接并创建session 全局对象。或者,该 shell.getSession()方法返回 session全局对象。

MySQL Shell 的\connect命令与类似 URI 的连接字符串一起使用,如上文和 使用类似 URI 的字符串或键值对连接到服务器中所述。您可以scheme在类似 URI 的连接字符串的开头包含该元素,以选择要创建的会话对象的类型,例如:

mysql-js> \connect mysqlx://user@localhost:33060

或者,您可以省略该scheme 元素并使用命令的--mysqlx ( --mx) 选项 Session使用 X 协议创建对象,或 --mysql( --mc) ClassicSession使用经典 MySQL 协议创建对象。例如:

mysql-js> \connect --mysqlx user@localhost:33060

shell.connect()方法可以在 MySQL Shell 中用作 创建全局对象的\connect命令 的替代方法。session此连接方法可以使用类似 URI 的连接字符串,并将选定的协议指定为scheme元素。例如:

mysql-js> shell.connect('mysqlx://user@localhost:33060')

通过该shell.connect()方法,您还可以使用键值对指定连接参数,在 JavaScript 中作为 JSON 对象或在 Python 中作为字典提供。所选协议(mysqlxmysql)被指定为 scheme密钥的值。例如:

mysql-js> shell.connect( {scheme:'mysqlx', user:'user', host:'localhost', port:33060} )

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

您可以省略连接协议,让 MySQL Shell 根据您的其他连接参数自动检测它,例如为协议指定默认端口。要验证用于连接的协议,请使用 MySQL Shell 的\status命令或 shell.status()方法。

如果在全局对象已经存在时(在启动期间或之后创建) 使用\connect命令或 shell.connect()方法创建新连接,则 MySQL Shell 将关闭由全局对象表示的现有连接。即使您将 方法创建的新会话对象分配给不同的变量也是如此。全局对象的值(由变量引用)仍会使用新的连接详细信息进行更新。如果您希望有多个并发连接可用,请使用中描述的替代函数创建这些连接 sessionsessionshell.connect()sessionsession第 4.2.3 节,“JavaScript 和 Python 模式下的脚本会话”