从命令行启动 MySQL Shell 时,可以使用单独的命令选项为每个值(如用户名、主机和端口)指定连接参数。有关以这种方式启动 MySQL Shell 并连接到 MySQL 服务器实例的说明和示例,请参见 第 4.3.1 节“使用独立参数连接”。使用此连接方法时,可以添加以下选项之一来选择要在启动时创建的会话对象类型作为 session
全局对象
例如,此命令启动 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
命令选项来传递此字符串。使用此连接方法时,可以在类似 URI 的连接字符串的开头包含 scheme
元素,以选择要创建的会话对象类型。 mysqlx
使用 X 协议创建一个 Session
对象,或者 mysql
使用经典 MySQL 协议创建一个 ClassicSession
对象。例如,以下任一命令都使用类似 URI 的连接字符串来启动 MySQL Shell 并创建到侦听端口 3306 的本地 MySQL 服务器实例的经典 MySQL 协议连接
$> 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 协议进行连接。