5.7.4 在多服务器环境中使用 Client 端程序

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

  • 使用--host=host_name --port=port_number启动 Client 端以使用 TCP/IP 连接到远程服务器,使用--host=127.0.0.1 --port=port_number启动使用 TCP/IP 连接到本地服务器,或者使用--host=localhost --socket=file_name启动使用 Unix 套接字文件或 Windows 命名的本地服务器。管。

  • 使用--protocol=TCP启动 Client 端以使用 TCP/IP 进行连接,使用--protocol=SOCKET使用 Unix 套接字文件进行连接,--protocol=PIPE使用命名管道进行连接,或--protocol=MEMORY使用共享内存进行连接来启动 Client 端。对于 TCP/IP 连接,您可能还需要指定--host--port选项。对于其他类型的连接,可能需要指定--socket选项来指定 Unix 套接字文件或 Windows 命名管道名称,或者需要--shared-memory-base-name选项来指定共享内存名称。共享内存连接仅在 Windows 上受支持。

  • 在 Unix 上,在启动 Client 端之前,将MYSQL_UNIX_PORTMYSQL_TCP_PORT环境变量设置为指向 Unix 套接字文件和 TCP/IP 端口号。如果通常使用特定的套接字文件或端口号,则可以放置命令以将这些环境变量设置在.login文件中,以便它们在每次登录时都适用。请参见第 4.9 节“环境变量”

  • 在选项文件的[client]组中指定默认的 Unix 套接字文件和 TCP/IP 端口号。例如,您可以在 Windows 上使用C:\my.cnf,或者在 Unix 上使用主目录中的.my.cnf文件。参见第 4.2.2.2 节“使用选项文件”

$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);

See 第 27.9 节“ MySQL Perl API”.

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