當你想要用一個客戶端程序連接一個MySQL服務器時,該服務器偵聽不同的網絡接口,而不是編譯到你的客戶端的網絡接口,你可以使用下面的方法:
· 啟動客戶端,用--host=host_name --port=port_number通過TCP/IP來連接一個遠程服務器,用--host=127.0.0.1 --port=port_number通過TCP/IP來連接一個本地服務器,或者用--host=localhost --socket=file_name通過一個Unix套接字文件或一個Windows命名管道來連接一個本地服務器。
· 從MySQL 4.1起,啟動客戶端時用--protocol=tcp通過TCP/IP來連接,用--protocol=socket通過一個Unix套接字文件來連接,用--protocol=pipe通過一個命名管道來連接,或用--protocol=memory通過共享內存來連接。對于TCP/IP連接,你可能還需要指定--host和--port選項。對于其它類型的連接,你可能需要指定一個--socket選項來指定一個Unix套接字文件或命名管道名,或者一個--shared-memory-base-name選項來指定共享內存名。共享內存連接僅在Windows中支持。
· 在Unix中,在你啟動客戶端之前,設置MYSQL_UNIX_PORT和MYSQL_TCP_PORT環境變量來指定Unix套接字文件和TCP/IP端口號。如果你經常使用具體的套接字文件或端口號,你可以在.login文件中放置命令來設置環境變量以便你每次登錄時該命令起作用。參見附錄F:環境變量。
· 在一個選項文件的[client]組中指定默認Unix套接字文件和TCP/IP端口號。例如,你可以在Windows中使用C:my.cnf文件,或在Unix中主目錄內使用.my.cnf文件。參見4.3.2節,“使用選項文件”。
· 在C程序中,在mysql_real_connect()調用時,你可以指定套接字文件或端口號參數。通過調用mysql_options(),你還可以有程序讀選項文件。參見25.2.3節,“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);
參見25.4節,“MySQL Perl API”。
其它程序接口可以為讀選項文件提供相似的功能。