從命令列手動啟動單一 MySQL 伺服器的程序在第 2.3.3.6 節「從 Windows 命令列啟動 MySQL」中說明。若要以這種方式啟動多個伺服器,您可以在命令列或選項檔案中指定適當的選項。將選項放入選項檔案中會更方便,但必須確保每個伺服器都有自己的一組選項。為此,請為每個伺服器建立選項檔案,並在使用 --defaults-file
選項執行伺服器時告知伺服器檔案名稱。
假設您想要在連接埠 3307 上執行一個 mysqld 執行個體,其資料目錄為 C:\mydata1
,並在連接埠 3308 上執行另一個執行個體,其資料目錄為 C:\mydata2
。使用此程序
確保每個資料目錄都存在,包括其自己的包含授權表格的
mysql
資料庫副本。建立兩個選項檔案。例如,建立一個名為
C:\my-opts1.cnf
的檔案,如下所示[mysqld] datadir = C:/mydata1 port = 3307
建立第二個名為
C:\my-opts2.cnf
的檔案,如下所示[mysqld] datadir = C:/mydata2 port = 3308
使用
--defaults-file
選項啟動每個伺服器,使用其自己的選項檔案C:\> C:\mysql\bin\mysqld --defaults-file=C:\my-opts1.cnf C:\> C:\mysql\bin\mysqld --defaults-file=C:\my-opts2.cnf
每個伺服器都會在前台啟動(在伺服器稍後結束之前不會出現新的提示符號),因此您需要在不同的主控台視窗中發出這兩個命令。
若要關閉伺服器,請使用適當的連接埠號碼連線到每個伺服器
C:\> C:\mysql\bin\mysqladmin --port=3307 --host=127.0.0.1 --user=root --password shutdown
C:\> C:\mysql\bin\mysqladmin --port=3308 --host=127.0.0.1 --user=root --password shutdown
如上述設定的伺服器允許用戶端透過 TCP/IP 連線。如果您的 Windows 版本支援具名管道,並且您也想要允許具名管道連線,請指定啟用具名管道並指定其名稱的選項。每個支援具名管道連線的伺服器都必須使用唯一的管道名稱。例如,C:\my-opts1.cnf
檔案可能會寫成這樣
[mysqld]
datadir = C:/mydata1
port = 3307
enable-named-pipe
socket = mypipe1
修改 C:\my-opts2.cnf
,類似地供第二個伺服器使用。然後如先前所述啟動伺服器。
類似的程序適用於您想要允許共用記憶體連線的伺服器。透過啟動伺服器並啟用 shared_memory
系統變數來啟用此類連線,並透過設定 shared_memory_base_name
系統變數來為每個伺服器指定唯一的共用記憶體名稱。