MySQL Shell 8.4  /  ...  /  使用登录路径和选项文件连接

4.3.2 使用登录路径和选项文件连接

支持 MySQL 登录路径和选项文件。以下 MySQL 命令行选项在命令行开头受支持

MySQL Shell 读取 MySQL 配置文件中的一个部分,例如 [mysqlsh],其中包含 MySQL Shell 命令行选项。

MySQL Shell 还读取 MySQL 配置文件中的 [client] 部分。

注意

某些 [client] 选项不受 MySQL Shell 支持,例如 local-infile,而某些选项在两者中具有相同的名称,但取不同的值,例如 [client] 选项 --compress[mysqlsh] 选项 compress=value

对于此类选项,MySQL Shell 返回一个特定的错误,指定选项的名称和错误。

有关选项文件位置、Windows 和 Linux 平台上的优先级顺序以及选项语法的详细信息,请参阅 使用选项文件。有关登录路径的详细信息,请参阅 --login-path.

例如,如果您在选项文件中定义了以下内容,例如 c:\my.ini

        [mysqlsh]
        sql
        
        [client]
        host=localhost
        user=user1
        port=3306
        database=sakila

这些选项设置以下内容

  • sql:默认 MySQL Shell 模式,SQL。

  • host=localhost:将主机定义为 localhost。

  • user=user1:将用户定义为 user1。

  • port=3306:将连接端口定义为 3306。

  • database=sakila:将默认模式定义为 sakila。

运行 mysqlsh 而不带任何连接字符串

        > mysqlsh
        
        MySQL Shell 8.0.32-commercial
        
        Copyright (c) 2016, 2022, Oracle and/or its affiliates.
        Oracle is a registered trademark of Oracle Corporation and/or its affiliates.
        Other names may be trademarks of their respective owners.
        
        Type '\help' or '\?' for help; '\quit' to exit.
        Creating a Classic session to 'root@localhost:3306/sakila'
        Fetching global names, object names from `sakila` for auto-completion... Press ^C to stop.
        Your MySQL connection id is 93
        Server version: 8.0.31-commercial MySQL Enterprise Server - Commercial
        Default schema set to `sakila`.
        localhost:3306 ssl  sakila  SQL >
注意

在命令行上定义的选项会覆盖所有其他值。

MySQL Shell 的优先级顺序

  • 命令行参数

  • 登录路径

  • 选项文件

  • 持久化的 Shell 选项