在基于NT的系統中,MySQL服務器可以以Windows服務的方式來運行。安裝、控制和刪除單個MySQL服務的過程描述見2.3.12節,“以Windows服務方式啟動MySQL”。
你還可以以服務的方式安裝多個MySQL服務器。此時,除了所有參數對每個服務器必須是唯一的,你還必須確保每個服務器使用不同的服務名。
在下面的說明中,假設你想要運行mysqld-nt服務器的兩個不同的版本,它們分別安裝在C:mysql-4.1.8和C:mysql-5.1.2-alpha目錄中。(可能存在這種情況,如果你正在運行版本4.1.8作為你的產品服務器,還想使用5.1.2-alpha版本來進行測試)。
當用--install或--install-manual選項安裝一個MySQL服務時,應遵從以下原則:
· 如果你沒有指定服務名,服務器使用默認的MySQL服務名,從標準選項文件的[mysqld]組中讀取選項。
· 如果你在--install選項后指定了服務名,服務器忽略[mysqld]選項組,從具有相同名的組中讀取選項作為服務名。服務器從標準選項文件中讀取選項。
· 如果你在服務名后面指定一個--defaults-file選項,服務器忽略標準選項文件,只從命名的文件的[mysqld]組讀取選項。
注釋:MySQL 4.0.17之前,只有使用默認服務名(MySQL)安裝的一個服務器或使用服務名mysqld顯式安裝的一個服務器從標準選項文件讀[mysqld]組。到4.0.17時,如果服務器讀標準選項文件,則它們均讀[mysqld]組,即使它們安裝時使用了另一個服務名。這樣允許你為選項使用[mysqld]組,用于所有MySQL服務器,并將根據每個服務器命名的選項組用于該服務器,即使用那個服務名安裝的服務器。
根據前面敘述,你可以通過幾個方法來設置多個服務器。下面的說明描述了一些示例。在嘗試之前,應確保你首先關閉并且卸載了所有已有的MySQL服務器。
· 方法1:在一個標準選項文件中指定所有服務器選項。要想這樣做,為每個服務器使用不同的服務名。假設你想使用服務名mysqld1運行4.1.8版的mysqld-nt并使用服務名mysqld2運行5.1.2-alpha版的mysqld-nt。在這種情況下,你可以為4.1.8使用[mysqld1]組,為5.1.2-alpha使用[mysqld2]組。例如,你可以象這樣建立 C:my.cnf文件:
· # options for mysqld1 service
· [mysqld1]
· basedir = C:/mysql-4.1.8
· port = 3307
· enable-named-pipe
· socket = mypipe1
·
· # options for mysqld2 service
· [mysqld2]
· basedir = C:/mysql-5.1.2-alpha
· port = 3308
· enable-named-pipe
· socket = mypipe2
如下面所示安裝服務器,使用服務器的全路徑名來確保Windows為每個服務注冊正確的可執行程序:
C:> C:mysql-4.1.8inmysqld-nt --install mysqld1
C:> C:mysql-5.1.2-alphainmysqld-nt --install mysqld2
為了啟動服務器,使用服務管理器,或用帶有適當的服務名的NET START:
C:> NET START mysqld1
C:> NET START mysqld2
要想停止服務,使用服務管理器,或用帶有適當的服務名的NET STOP:
C:> NET STOP mysqld1
C:> NET STOP mysqld2
· 方法2:為每個服務器用不同的文件指定選項,當你安裝服務時使用--defaults-file告訴每個服務器使用什么文件。此時,每個文件應用一個[mysqld]組列出選項。
使用這種方法為4.1.8版本的mysqld-nt指定選項,應象這樣創建一個C:my-opts1.cnf文件:
[mysqld]
basedir = C:/mysql-4.1.8
port = 3307
enable-named-pipe
socket = mypipe1
對于5.1.2-alpha版的mysqld-nt,象這樣創建一個C:my-opts2.cnf文件:
[mysqld]
basedir = C:/mysql-5.1.2-alpha port = 3308
enable-named-pipe
socket = mypipe2
安裝服務如下(在一個單一行中輸入每個命令):
C:> C:mysql-4.1.8inmysqld-nt -- installmysqld1
--defaults-file=C:my-opts1.cnf
C:> C:mysql-5.1.2-alphainmysqld-nt -- installmysqld2
--defaults-file=C:my-opts2.cnf
當你作為服務安裝一個MySQL服務器時,要想使用--defaults-file選項,你必須在此選項之前加服務名。
安裝服務后,按照與前面的示例相同的方法啟動和停止。
要想卸載多個服務,對每個服務使用mysqld --remove,在--remove選項后指定服務名。如果服務名是 默認的(MySQL),你可以不指定。