在NT家族 (Windows NT,2000,XP,2003)中,建議將MySQL安裝為Windows服務,當Windows啟動、停止時,MySQL也自動啟動、停止。還可以從命令列使用NET
命令,或使用圖形Services
工具來控制AMySQL伺服器。
在Windows控制台(Windows 2000,XP和Server 2003的管理工具下面
)中可以看見Services
工具(Windows Service Control Manager
)。建議從命令列安裝活卸載伺服器時關閉Services
工具。這樣可以防止許多錯誤。
安裝MySQL Windows服務之前,應當使用下面的命令先停止當前正啟動並執行伺服器:
C:/> C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqladmin -u root shutdown
注釋:
如果MySQL root使用者賬戶有密碼,你需要調用命令 C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqladmin -u root -p shutdown
並根據提示輸入密碼。
該命令調用MySQL管理工具mysqladmin
,串連伺服器並告知它關閉服務。該命令使用MySQL root使用者串連,這是MySQL許可權系統中的預設管理賬戶。請注意MySQL許可權系統中的使用者完全獨立於Windows下的登入使用者。
使用該命令安裝伺服器
C:/> mysqld --install
如果只使用伺服器名安裝mysqld
時有問題,嘗試使用全路徑名來安裝
。例如:
C:/> C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqld --install
你還可以將MySQL bin目錄的路徑加到Windows系統PATH環境變數中:
· 右擊Windows案頭上的My Computer(我的電腦)
表徵圖,選擇Properties(屬性)。
· 然後從出現的System Properties
菜單中選擇Advanced(進階)標籤
,然後點擊Environment Variables
(環境變數)
按鈕。
· 選擇System Variables(
系統變數)下面的
Path(路徑)
,然後點擊Edit
(編輯)
按鈕。將彈出Edit System Variable(編輯系統變數)
對話方塊。
· 將游標放到標記Variable Value
(變數值)處的
文本的後面。(使用End
鍵確保游標位於文本的最後)。然後輸入MySQL bin目錄 的完整路徑(例如,C:/Program Files/MySQL/MySQL Server 5.1/bin),請注意應使用分號將該路徑與該域內的其它值隔離開。一次關閉該對話方塊和各個對話方塊,點擊OK
直到開啟的所有對話方塊被關閉。你現在可以在DOS提示符下從系統的任何目錄輸入MySQL可執行程式名來調用MySQL可執行程式,而不必提供路徑名。包括伺服器、MySQL用戶端和所有MySQL命令列公用程式,例如mysqladmin
和mysqldump
。
· 請注意在同一個機器上運行多個MySQL伺服器時,不需要在Windows PATH中加入MySQL bin目錄。
警告
:編輯系統PATH時必須特別注意;意外刪除或修改已有路徑值會造成系統故障甚至癱瘓。
服務安裝命令不會啟動伺服器。在本節後面將給出相關指令。
安裝服務時,可以使用MySQL 5.1中的下面的參數:
· 可以直接在--install選項後面指定服務名。預設服務名是MySQL。
· 如果給出了服務名,後面可以跟一個選項。一般情況,應當為defaults-file=file_name
,指定選項檔案的名稱,伺服器啟動時應當從中讀取選項。
可以使用單個選項代替--defaults-file,但是不提倡這樣做。--defaults-file更加靈活一些,因為你可以將多個伺服器啟動選項放入命名的選項檔案中。
· 可以在服務名後面指定一個--local-service選項。這樣伺服器運行時使用LocalService Windows賬戶,只具有有限的系統許可權。該賬戶只適用於Windows XP或更新版本。如果服務名後面同時跟有--defaults-file和--local-service,二者可以按任何順序排放。
對於Windows MySQL伺服器,根據下面規則確定伺服器使用的服務名和選項檔案:
· 如果在服務安裝命令中,沒有在--install選項後面指定了服務名或使用預設服務名(MySQL),伺服器則使用MySQL服務名並從標準選項檔案的[mysqld]組讀取選項。
· 如果在服務安裝命令中,在--install選項後面指定的服務名不是預設服務名(MySQL)。則從具有相同服務名的組中讀取選項,並從標準選項檔案讀取選項。
伺服器還從標準選項檔案的[mysqld]組讀取選項。你可以使用[mysqld]組中的選項用於所有MySQL 服務,還可以使用具有相同服務名的組,用於該服務名所對應的伺服器。
· 如果在服務安裝命令中,在服務名後面指定了--defaults-file選項,伺服器只從命名檔案的[mysqld]組中讀取選項,忽略標準選項檔案。
對於更複雜的例子可以考慮使用命令:
C:/> C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqld --install MySQL --defaults-file=C:/my-opts.cnf
該命令中,--install選項後面給出了預設服務名(MySQL)。如果未給出--defaults-file選項,該命令可以讓伺服器從標準選項檔案的[mysqld]組中讀數。由於提供了--defaults-file選項,伺服器只從命名檔案的[mysqld]組讀取選項。
還可以在啟動MySQL服務之前,在Windows Services
工具中指定啟動參數選項。
MySQL伺服器安裝為服務後,Windows啟動時自動啟動服務。還可以從Services
工具直接啟動服務,或使用命令NET START MySQL
。NET
命令忽略大小寫。
做為服務運行時,mysqld
不能存取控制台視窗,因此看不見任何訊息。如果mysqld
未啟動,檢查錯誤記錄檔看看伺服器是否寫入了顯示問題原因的任何訊息。錯誤記錄檔位於MySQL資料目錄中(例如,C:/Program Files/MySQL/MySQL Server 5.1/data),是帶尾碼.err的檔案。
如果MySQL伺服器安裝為服務,並且服務正運行,Windows關閉時自動停止服務。還可以通過Services工具、NET STOP MySQL
命令或 mysqladmin shutdown
命令手動停止伺服器。
如果不想在引導過程中自動啟動服務,還可以將服務設定為手動啟動模式。實現的方法是使用--install-manual選項而非--install選項:
C:/> C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqld --install-manual
要想卸載伺服器,如果服務正運行則應首先使用命令NET STOP MYSQL
停止服務。然後使用--remove選項卸載服務:
C:/> C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqld --remove
如果mysqld
不是服務,可以從命令列啟動它。詳細說明參見2.3.11節,“從Windows命令列啟動MySQL”
。
如果在安裝過程中遇到問題,請參閱2.3.14節,“在Windows環境下對MySQL安裝的故障診斷與排除”
。
【gengv】我試了一下,開始確實出現了無法自動啟動的現象,做了兩處修改:
1、在Windows系統目錄下,添加my.ini檔案,內容如下:
[mysqld]
basedir=D:/DevSoft/MySQL/mysql-5.1.34/
datadir=D:/DevSoft/MySQL/mysql-5.1.34/data/
路徑根據實際MySQL位置設定,這個ini檔案不一定需要,可以反覆試試。
2、通過更改Path,在命令列直接執行mysqld --install,雖然提示服務添加成功,但在啟動的時候,會提示找不到設定檔。於是,我規規矩矩進入MySQL的bin目錄下,執行mysqld --install,一切順利,啟動成功。