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_PORT
和MYSQL_TCP_PORT
环境变量设置为指向 Unix 套接字文件和 TCP/IP 端口号。如果通常使用特定的套接字文件或端口号,则可以放置命令以将这些环境变量设置在.login
文件中,以便它们在每次登录时都适用。请参见第 4.9 节“环境变量”。 -
在选项文件的
[client]
组中指定默认的 Unix 套接字文件和 TCP/IP 端口号。例如,您可以在 Windows 上使用C:\my.cnf
,或者在 Unix 上使用主目录中的.my.cnf
文件。参见第 4.2.2.2 节“使用选项文件”。
-
在 C 程序中,您可以在mysql_real_connect()调用中指定套接字文件或端口号参数。您还可以通过调用mysql_options()让程序读取选项文件。参见第 27.7.6 节“ C API 函数描述”。
-
如果使用 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);
See 第 27.9 节“ MySQL Perl API”.
其他编程接口可以提供类似的功能来读取选项文件。