### 5.8.4 在多服务器环境中使用客户端程序

要将客户端程序连接到正在侦听与编译到客户端不同的网络接口的 MySQL 服务器，您可以使用以下方法之一：

-   启动客户端[`--主机=*`主机名`*`](connection-options.html#option_general_host) [`--端口=*`端口号`*`](connection-options.html#option_general_port)使用 TCP/IP 连接到远程服务器，使用[`--主机=127.0.0.1`](connection-options.html#option_general_host) [`--端口=*`端口号`*`](connection-options.html#option_general_port)使用 TCP/IP 连接到本地服务器，或使用[`--主机=本地主机`](connection-options.html#option_general_host) [`--socket=*`文件名`*`](connection-options.html#option_general_socket)使用 Unix 套接字文件或 Windows 命名管道连接到本地服务器。

-   启动客户端[`--协议=TCP`](connection-options.html#option_general_protocol)使用 TCP/IP 进行连接，[`--协议=套接字`](connection-options.html#option_general_protocol)要使用Unix套接字文件进行连接，[`--协议=管道`](connection-options.html#option_general_protocol)使用命名管道连接，或[`--协议=内存`](connection-options.html#option_general_protocol)使用共享内存进行连接。对于TCP/IP连接，您可能还需要指定[`--主人`](connection-options.html#option_general_host)和[`--港口`](connection-options.html#option_general_port)选项。对于其他类型的连接，可能需要指定[`--插座`](connection-options.html#option_general_socket)选项指定Unix套接字文件或Windows命名管道名称，或[`--共享内存基名称`](connection-options.html#option_general_shared-memory-base-name)选项指定共享内存名称。共享内存连接仅在Windows上受支持。

-   [](<>) [](<>) [](<>) [](<>)在Unix上，设置`MYSQL_UNIX_端口`和`MYSQL_TCP_端口`环境变量，用于在启动客户端之前指向Unix套接字文件和TCP/IP端口号。如果您通常使用特定的套接字文件或端口号，则可以在应用程序中放置命令来设置这些环境变量`.登录`文件，以便在每次登录时应用它们。看见[第4.9节“环境变量”](environment-variables.html).

-   指定默认的 Unix 套接字文件和 TCP/IP 端口号`[客户]`一组选项文件。例如，您可以使用`C:\my.cnf`在 Windows 上，或`.my.cnf`Unix 上的主目录中的文件。看[第 4.2.2.2 节，“使用选项文件”](option-files.html).

    [](<>)[](<>)[](<>)[](<>)

-   在 C 程序中，您可以在[`mysql_real_connect()`](https://dev.mysql.com/doc/c-api/8.0/en/mysql-real-connect.html)称呼。您还可以通过调用让程序读取选项文件[`mysql_options()`](https://dev.mysql.com/doc/c-api/8.0/en/mysql-options.html).看[C API 基本功能说明](https://dev.mysql.com/doc/c-api/8.0/en/c-api-function-descriptions.html).

-   如果你使用 Perl`DBD::mysql`模块，您可以从 MySQL 选项文件中读取选项。例如：

    ```
    $dsn = "DBI:mysql:test;mysql_read_default_group=client;"
            . "mysql_read_default_file=/usr/local/mysql/data/my.cnf";
    $dbh = DBI->connect($dsn, $user, $password);
    ```

    看[第 29.9 节，“MySQL Perl API”](apis-perl.html).

    其他编程接口可以提供类似的读取选项文件的能力。
