5.7.4 Using Client Programs in a Multiple-Server Environment
To connect with a client program to a MySQL server that is listening to different network interfaces from those compiled into your client, you can use one of the following methods:
Start the client with
--port=to connect using TCP/IP to a remote server, with
--port=to connect using TCP/IP to a local server, or with
--socket=to connect to a local server using a Unix socket file or a Windows named pipe.
Start the client with
--protocol=TCPto connect using TCP/IP,
--protocol=SOCKETto connect using a Unix socket file,
--protocol=PIPEto connect using a named pipe, or
--protocol=MEMORYto connect using shared memory. For TCP/IP connections, you may also need to specify
--portoptions. For the other types of connections, you may need to specify a
--socketoption to specify a Unix socket file or Windows named-pipe name, or a
--shared-memory-base-nameoption to specify the shared-memory name. Shared-memory connections are supported only on Windows.
On Unix, set the
MYSQL_TCP_PORTenvironment variables to point to the Unix socket file and TCP/IP port number before you start your clients. If you normally use a specific socket file or port number, you can place commands to set these environment variables in your
.loginfile so that they apply each time you log in. See Section 4.9, “Environment Variables”.
Specify the default Unix socket file and TCP/IP port number in the
[client]group of an option file. For example, you can use
C:\my.cnfon Windows, or the
.my.cnffile in your home directory on Unix. See Section 22.214.171.124, “Using Option Files”.
In a C program, you can specify the socket file or port number arguments in the
mysql_real_connect()call. You can also have the program read option files by calling
mysql_options(). See Section 27.7.6, “C API Function Descriptions”.
If you are using the Perl
DBD::mysqlmodule, you can read options from MySQL option files. For example:
$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);
Other programming interfaces may provide similar capabilities for reading option files.