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