大多數(shù)人們都在指定的機(jī)器上運(yùn)行單個(gè)MySQL服務(wù)器,但在有些情況下,運(yùn)行多個(gè)服務(wù)器是有好處的:您可以在成品服務(wù)器運(yùn)行的狀態(tài)下測試新版本的服務(wù)器。在這種情況下,將運(yùn)行不同的服務(wù)器。 操作系統(tǒng)通常將總進(jìn)程限制施加于打開文件的描述符數(shù)量上。如果系統(tǒng)提
大多數(shù)人們都在指定的機(jī)器上運(yùn)行單個(gè)MySQL服務(wù)器,但在有些情況下,運(yùn)行多個(gè)服務(wù)器是有好處的: 您可以在成品服務(wù)器運(yùn)行的狀態(tài)下測試新版本的服務(wù)器。在這種情況下,將運(yùn)行不同的服務(wù)器。
操作系統(tǒng)通常將總進(jìn)程限制施加于打開文件的描述符數(shù)量上。如果系統(tǒng)提高該限制值有困難,則運(yùn)行多個(gè)服務(wù)器是解決該限制的辦法(例如,提高限制可能需要重新編譯該內(nèi)核,并且,如果該機(jī)器不是您的管轄范圍,可能還不能這樣做)。在這種情況中,您可能會運(yùn)行相同服務(wù)器的多個(gè)實(shí)例。
互聯(lián)網(wǎng)服務(wù)經(jīng)常提供給顧客他們自己的MySQL安裝程序,它需要單獨(dú)的服務(wù)器。在這種情況下,您可能會運(yùn)行相同服務(wù)器或不同服務(wù)器的多個(gè)實(shí)例,如果不同的顧客需要不同MySQL版本的話。
當(dāng)然,同時(shí)運(yùn)行幾個(gè)服務(wù)器比只運(yùn)行一個(gè)更復(fù)雜。如果您打算安裝多個(gè)版本,則不能將它們都安裝在相同的位置。當(dāng)服務(wù)器運(yùn)行時(shí),某些參數(shù)對于每個(gè)服務(wù)器必須是唯一的。其中有些參數(shù)包括在服務(wù)器安裝的地方:數(shù)據(jù)目錄的路徑名、TCP/IP 端口和UNIX 域的套接字路徑名,以及用于運(yùn)行多個(gè)服務(wù)器的UNIX 賬號(如果不在相同的賬號下運(yùn)行所有的服務(wù)器的話)。如果決定運(yùn)行多個(gè)服務(wù)器,則必須保持對正在使用的參數(shù)有良好說明,以便不失去對運(yùn)行的跟蹤。
配置和安裝多個(gè)服務(wù)器
如果打算運(yùn)行不同版本的服務(wù)器而非相同服務(wù)器的多個(gè)實(shí)例,應(yīng)該在不同的位置安裝它們。如果安裝二進(jìn)制(不是R P M)分發(fā)包,它們將在包含版本號的目錄名下被安裝。如果從源程序分發(fā)包中安裝,使不同的分發(fā)包分開的最容易的辦法是,當(dāng)在每個(gè)版本的MySQL安裝過程中運(yùn)行configure 時(shí)使用--with-prefix 選項(xiàng)。這將導(dǎo)致在單獨(dú)的目錄下進(jìn)行安裝,并且可以連接該目錄到該分發(fā)包的版本號上。例如,您可以按如下配置一個(gè)MySQL分發(fā)包,這里的version 是MySQL的版本號:
% ./configure ..with-prefix=/usr/local/mysql-version
with-prefix 選項(xiàng)還將確定服務(wù)器的唯一數(shù)據(jù)目錄。您可能會增加選項(xiàng)來配置其他的服務(wù)器專有的值,如TCP/IP 端口和套接字路徑名( --with-tcp-port 和- - w i t h - un i x - s o c k e t)。
如果打算運(yùn)行相同服務(wù)器的多個(gè)實(shí)例,則服務(wù)器專用的任何選項(xiàng)將需要在運(yùn)行時(shí)指定。
多個(gè)服務(wù)器的啟動(dòng)過程
啟動(dòng)多個(gè)服務(wù)器比使用單個(gè)服務(wù)器復(fù)雜,因?yàn)閟afe_mysqld 和mysql.server 二者均在單個(gè)服務(wù)器上工作良好。筆者建議您仔細(xì)研究safe_mysqld 并用它作為啟動(dòng)過程的基礎(chǔ),除非您使用按自己的需求修改得更精細(xì)的拷貝。
必須處理的一個(gè)問題是如何在選項(xiàng)文件中指定選項(xiàng)。對于多個(gè)服務(wù)器,不能對在總服務(wù)器基礎(chǔ)上變化了的設(shè)置使用/ e t c / my.cnf,只能為所有服務(wù)器都相同的設(shè)置使用該文件。如果每個(gè)服務(wù)器都有不同的數(shù)據(jù)目錄位置,可以在每個(gè)服務(wù)器數(shù)據(jù)目錄的my.cnf 文件中指定服務(wù)器專有的參數(shù)。換句話說,應(yīng)為所有服務(wù)器都使用的設(shè)置使用/ e t c / my.cnf,并且為服務(wù)器專有的設(shè)置使用DATA D I R/ my.cnf,這里的DATADIR 隨每個(gè)服務(wù)器變化。
指定服務(wù)器選項(xiàng)的另一種方法是:使用- - d e f a ul t s - f i l e =p a t h _ name 作為該命令行的第一個(gè)選項(xiàng),以便告訴服務(wù)器從path_name 指定的文件中讀取選項(xiàng)。這樣,可以將該文件中的服務(wù)器選項(xiàng)唯一地放置到那個(gè)服務(wù)器中,然后告訴服務(wù)器在啟動(dòng)時(shí)讀取該文件。請注意,如果指定該選項(xiàng),則沒有任何通常的選項(xiàng)文件(如/ e t c / my.cnf)將被使用。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com