如果你想要運行多個伺服器,最容易的方法是用不同的TCP/IP連接埠和通訊端檔案重新編譯伺服器,因此他們不是偵聽同一個TCP/IP連接埠或通訊端。
假設一個現存伺服器配置為預設連接埠號碼和通訊端檔案, 那麼用一個這樣configure命令列設定新的伺服器:
shell> ./configure --with-tcp-port=port_number
--with-unix-socket=file_name
--prefix=/usr/local/mysql-3.22.9
這裡port_number和file_name應該不同於預設連接埠號碼和通訊端檔案路徑名,而且
--prefix值應該指定一個不同於現存的MySQL安裝所在的安裝目錄。
你可以用這個命令檢查由任何當前執行的MySQL所使用的通訊端和連接埠:
shell> mysqladmin -h hostname --port=port_number variables
如果你有一個MySQL伺服器正運行在你使用了的連接埠上,你將得到MySQL的一些最重要的
可組態變數的一張表,包括通訊端名等。
你也應該編輯你機器的初始化指令碼(可能是“mysql.server”)來啟動並殺死多個mysqld伺服器。
你不必重新編譯一個新MySQL伺服器,只要以一個不同的連接埠和通訊端啟動即可。 你可以通過指定在運行時safe_mysqld使用的選項來改變連接埠和通訊端:
shell> /path/to/safe_mysqld --socket=file_name --port=port_number
如果你在與開啟日誌的另一個伺服器相同的一個資料庫目錄下運行新伺服器,你也應該用safe_mysqld的--log和--log-update選項來指定記錄檔的名字,否則,兩個伺服器可能正在試圖寫入同一個記錄檔。
警告:通常你決不應該有在同一個資料庫中更新資料的2個伺服器! 如果你的OS不支援無故障(fault-free)的系統鎖定,這可能導致令人驚訝的事情發生!
如果你想要為第二個伺服器使用另一個資料庫目錄,你可以使用safe_mysqld的
--datadir=path選項。
當你想要串連一個正在啟動並執行, 使用一個不同於編譯進你的客戶程式中連接埠的MySQL伺服器時,你可以使用下列方法之一:
�--host 'hostname' --port=port_numer或[--host localhost] --socket=file_name
啟動客戶。
在你的C或Perl程式中,當串連MySQL伺服器時,你可以給出連接埠和通訊端參數。
在你啟動客戶程式之前,設定MYSQL_UNIX_PORT和MYSQL_TCP_PORT環境變數, 指向Unix通訊端和TCP/IP的連接埠。如果你通常使用一個特定的通訊端或連接埠,你應該將設定這些環境變數的命令放進你的“.login”檔案中。
在你的主目錄下的“.my.cnf”檔案中指定預設通訊端和TCP/IP連接埠。