在同一臺(tái)機(jī)器上運(yùn)行多個(gè)MySQL服務(wù)器
MySQL數(shù)據(jù)庫(kù)雖然功能性不是很好,但還是憑借著自身的種種優(yōu)點(diǎn),贏得了廣大用戶的喜愛,下文中將為大家講解MySQL數(shù)據(jù)庫(kù)的使用。有些情況下你可能想要在同一臺(tái)機(jī)器上運(yùn)行多個(gè)服務(wù)器。例如,你可能想要測(cè)試一個(gè)新的MySQL版本而讓你現(xiàn)有生產(chǎn)系統(tǒng)的設(shè)置不受到干擾, 或你可能是想要為不同的客戶提供獨(dú)立的MySQL安裝一個(gè)因特網(wǎng)服務(wù)供應(yīng)商。
如果你想要運(yùn)行多個(gè)服務(wù)器,最容易的方法是用不同的TCP/IP端口和套接字文件重新編譯服務(wù)器,因此他們不是偵聽同一個(gè)TCP/IP端口或套接字。
假設(shè)一個(gè)現(xiàn)存服務(wù)器配置為缺省端口號(hào)和套接字文件, 那么用一個(gè)這樣configure命令行設(shè)置新的服務(wù)器:
shell> ./configure with-tcp-port=port_number
with-unix-socket=file_name
prefix=/usr/local/mysql-3.22.9
這里port_number和file_name應(yīng)該不同于缺省端口號(hào)和套接字文件路徑名,而且
prefix值應(yīng)該指定一個(gè)不同于現(xiàn)存的MySQL安裝所在的安裝目錄。
你可以用這個(gè)命令檢查由任何當(dāng)前執(zhí)行的MySQL所使用的套接字和端口:
shell> mysqladmin -h hostname port=port_number variables
如果你有一個(gè)MySQL服務(wù)器正運(yùn)行在你使用了的端口上,你將得到MySQL的一些最重要的可配置變量的一張表,包括套接字名等。
你也應(yīng)該編輯你機(jī)器的初始化腳本(可能是“mysql.server”)來啟動(dòng)并殺死多個(gè)mysqld服務(wù)器。
你不必重新編譯一個(gè)新MySQL服務(wù)器,只要以一個(gè)不同的端口和套接字啟動(dòng)即可。 你可以通過指定在運(yùn)行時(shí)safe_mysqld使用的選項(xiàng)來改變端口和套接字:
shell> /path/to/safe_mysqld socket=file_name port=port_number
如果你在與開啟日志的另一個(gè)服務(wù)器相同的一個(gè)數(shù)據(jù)庫(kù)目錄下運(yùn)行新服務(wù)器,你也應(yīng)該用safe_mysqld的log和log-update選項(xiàng)來指定日志文件的名字,否則,兩個(gè)服務(wù)器可能正在試圖寫入同一個(gè)日志文件。
警告:通常你決不應(yīng)該有在同一個(gè)數(shù)據(jù)庫(kù)中更新數(shù)據(jù)的2個(gè)服務(wù)器! 如果你的OS不支持無故障(fault-free)的系統(tǒng)鎖定,這可能導(dǎo)致令人驚訝的事情發(fā)生!
如果你想要為第二個(gè)服務(wù)器使用另一個(gè)數(shù)據(jù)庫(kù)目錄,你可以使用safe_mysqld的
datadir=path選項(xiàng)。
當(dāng)你想要連接一個(gè)正在運(yùn)行的, 使用一個(gè)不同于編譯進(jìn)你的客戶程序中端口的MySQL服務(wù)器時(shí),你可以使用下列方法之一:
host 'hostname' port=port_numer或[host localhost] socket=file_name
啟動(dòng)客戶。
在你的C或Perl程序中,當(dāng)連接MySQL服務(wù)器時(shí),你可以給出端口和套接字參數(shù)。
在你啟動(dòng)客戶程序之前,設(shè)置MYSQL_UNIX_PORT和MYSQL_TCP_PORT環(huán)境變量, 指向Unix套接字和TCP/IP的端口。如果你通常使用一個(gè)特定的套接字或端口,你應(yīng)該將設(shè)置這些環(huán)境變量的命令放進(jìn)你的“.login”文件中。
在你的主目錄下的“.my.cnf”文件中指定缺省套接字和TCP/IP端口。
關(guān)于在同一臺(tái)機(jī)器上運(yùn)行多個(gè)MySQL服務(wù)器的知識(shí)就為大家講解到這里,相信大家通過上文的學(xué)習(xí),現(xiàn)在對(duì)在同一臺(tái)機(jī)器上運(yùn)行多個(gè)MySQL服務(wù)器的情況有所了解,希望對(duì)大家能夠有所幫助。