top
Loading...
5.12.1.2.做為服務啟動多個Windows服務器
5.12.1.2. 做為服務啟動多個Windows服務器

在基于NT的系統中,MySQL服務器可以以Windows服務的方式來運行。安裝、控制和刪除單個MySQL服務的過程描述見2.3.12節,“以Windows服務方式啟動MySQL”。

你還可以以服務的方式安裝多個MySQL服務器。此時,除了所有參數對每個服務器必須是唯一的,你還必須確保每個服務器使用不同的服務名。

在下面的說明中,假設你想要運行mysqld-nt服務器的兩個不同的版本,它們分別安裝在C:mysql-4.1.8C: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),你可以不指定。

作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/database-administration.html
北斗有巢氏 有巢氏北斗