在一台機器上,怎麼開啟兩個mysql服務
在一台機器上執行兩個mysql服務,對應兩個資料庫,應該怎麼操作?
最佳答案
7月26日10:36 有些情況下你可能想要在同一台機器上運行多個伺服器。例如,你可能想要測試一個新的MySQL版本而讓你現有生產系統的設定不受到干擾,或者你可能是想要為不同的客戶提供獨立的MySQL安裝一個因特網服務供應商。
如果你想要運行多個伺服器,最容易的方法是用不同的TCP/IP連接埠和套接字檔案重新編譯伺服器,因此他們不是偵聽同一個TCP/IP連接埠或套接字。
假設一個現存伺服器配置為缺省連接埠號碼和套接字文件,那麼用一個這樣的configure命令列設定新的伺服器:
shell> ./configure --with-tcp-port=port_number
--with-unix-socket=file_name
--prefix=/usr/local/mysql-3.22.9
這裡port_number和file_name應該不同於預設埠號碼和套接字檔案路徑名,而且--prefix值應該指定一個不同於現存的MySQL安裝所在的安裝目錄。
你可以用這個命令檢查由任何目前執行的MySQL所使用的套接字和連接埠:
shell> mysqladmin -h hostname --port=port_number variables
如果你有一個MySQL伺服器正運行在你使用了的連接埠上,你將會得到MySQL的一些最重要的可設定變數的一張表,包括套接字名等。
你也應該編輯你機器的初始化腳本(可能是「mysql.server」)來啟動並殺死多個mysqld伺服器。
你不必重新編譯一個新MySQL伺服器,只要以一個不同的連接埠和套接字啟動即可。你可以透過指定在執行時間safe_mysqld使用的選項來改變連接埠和套接字:
shell> /path/to/safe_mysqld --socket=file_name --port=port_number
如果你在與開啟日誌的另一個伺服器相同的一個資料庫目錄下運行新伺服器,你也應該用safe_mysqld的--log和--log-update選項來指定日誌檔案的名字,否則,兩個伺服器可能正在試圖寫入同一個日誌檔案。
警告:通常你絕不應該有在同一個資料庫中更新資料的2個伺服器!如果你的OS不支援無故障(fault-free)的系統鎖定,這可能導致令人驚訝的事情發生!
如果你想要為第二個伺服器使用另一個資料庫目錄,你可以使用safe_mysqld的--datadir=path選項。
好
50% (0) 不好
50% (0)