同時運行多個MySQL服務(wù)器的方法
更新時間:2008年05月21日 22:23:43 作者:
在同一臺機器上運行多個有些情況下你可能想要在同一臺機器上運行多個服務(wù)器。例如,你可能想要測試一個新的MySQL版本而讓你現(xiàn)有生產(chǎn)系統(tǒng)的設(shè)置不受到干擾, 或你可能是想要為不同的客戶提供獨立的MySQL安裝一個因特網(wǎng)服務(wù)供應(yīng)商。
如果你想要運行多個服務(wù)器,最容易的方法是用不同的TCP/IP端口和套接字文件重新編譯服務(wù)器,因此他們不是偵聽同一個TCP/IP端口或套接字。
假設(shè)一個現(xiàn)存服務(wù)器配置為缺省端口號和套接字文件, 那么用一個這樣configure命令行設(shè)置新的服務(wù)器:
shell> ./configure --with-tcp-port=port_number
--with-unix-socket=file_name
--prefix=/usr/local/mysql-3.22.9
這里port_number和file_name應(yīng)該不同于缺省端口號和套接字文件路徑名,而且
--prefix值應(yīng)該指定一個不同于現(xiàn)存的MySQL安裝所在的安裝目錄。
你可以用這個命令檢查由任何當前執(zhí)行的MySQL所使用的套接字和端口:
shell> mysqladmin -h hostname --port=port_number variables
如果你有一個MySQL服務(wù)器正運行在你使用了的端口上,你將得到MySQL的一些最重要的
可配置變量的一張表,包括套接字名等。
你也應(yīng)該編輯你機器的初始化腳本(可能是“mysql.server”)來啟動并殺死多個mysqld服務(wù)器。
你不必重新編譯一個新MySQL服務(wù)器,只要以一個不同的端口和套接字啟動即可。 你可以通過指定在運行時safe_mysqld使用的選項來改變端口和套接字:
shell> /path/to/safe_mysqld --socket=file_name --port=port_number
如果你在與開啟日志的另一個服務(wù)器相同的一個數(shù)據(jù)庫目錄下運行新服務(wù)器,你也應(yīng)該用safe_mysqld的--log和--log-update選項來指定日志文件的名字,否則,兩個服務(wù)器可能正在試圖寫入同一個日志文件。
警告:通常你決不應(yīng)該有在同一個數(shù)據(jù)庫中更新數(shù)據(jù)的2個服務(wù)器! 如果你的OS不支持無故障(fault-free)的系統(tǒng)鎖定,這可能導(dǎo)致令人驚訝的事情發(fā)生!
如果你想要為第二個服務(wù)器使用另一個數(shù)據(jù)庫目錄,你可以使用safe_mysqld的
--datadir=path選項。
當你想要連接一個正在運行的, 使用一個不同于編譯進你的客戶程序中端口的MySQL服務(wù)器時,你可以使用下列方法之一:
�--host 'hostname' --port=port_numer或[--host localhost] --socket=file_name
啟動客戶。
在你的C或Perl程序中,當連接MySQL服務(wù)器時,你可以給出端口和套接字參數(shù)。
在你啟動客戶程序之前,設(shè)置MYSQL_UNIX_PORT和MYSQL_TCP_PORT環(huán)境變量, 指向Unix套接字和TCP/IP的端口。如果你通常使用一個特定的套接字或端口,你應(yīng)該將設(shè)置這些環(huán)境變量的命令放進你的“.login”文件中。
在你的主目錄下的“.my.cnf”文件中指定缺省套接字和TCP/IP端口。
假設(shè)一個現(xiàn)存服務(wù)器配置為缺省端口號和套接字文件, 那么用一個這樣configure命令行設(shè)置新的服務(wù)器:
shell> ./configure --with-tcp-port=port_number
--with-unix-socket=file_name
--prefix=/usr/local/mysql-3.22.9
這里port_number和file_name應(yīng)該不同于缺省端口號和套接字文件路徑名,而且
--prefix值應(yīng)該指定一個不同于現(xiàn)存的MySQL安裝所在的安裝目錄。
你可以用這個命令檢查由任何當前執(zhí)行的MySQL所使用的套接字和端口:
shell> mysqladmin -h hostname --port=port_number variables
如果你有一個MySQL服務(wù)器正運行在你使用了的端口上,你將得到MySQL的一些最重要的
可配置變量的一張表,包括套接字名等。
你也應(yīng)該編輯你機器的初始化腳本(可能是“mysql.server”)來啟動并殺死多個mysqld服務(wù)器。
你不必重新編譯一個新MySQL服務(wù)器,只要以一個不同的端口和套接字啟動即可。 你可以通過指定在運行時safe_mysqld使用的選項來改變端口和套接字:
shell> /path/to/safe_mysqld --socket=file_name --port=port_number
如果你在與開啟日志的另一個服務(wù)器相同的一個數(shù)據(jù)庫目錄下運行新服務(wù)器,你也應(yīng)該用safe_mysqld的--log和--log-update選項來指定日志文件的名字,否則,兩個服務(wù)器可能正在試圖寫入同一個日志文件。
警告:通常你決不應(yīng)該有在同一個數(shù)據(jù)庫中更新數(shù)據(jù)的2個服務(wù)器! 如果你的OS不支持無故障(fault-free)的系統(tǒng)鎖定,這可能導(dǎo)致令人驚訝的事情發(fā)生!
如果你想要為第二個服務(wù)器使用另一個數(shù)據(jù)庫目錄,你可以使用safe_mysqld的
--datadir=path選項。
當你想要連接一個正在運行的, 使用一個不同于編譯進你的客戶程序中端口的MySQL服務(wù)器時,你可以使用下列方法之一:
�--host 'hostname' --port=port_numer或[--host localhost] --socket=file_name
啟動客戶。
在你的C或Perl程序中,當連接MySQL服務(wù)器時,你可以給出端口和套接字參數(shù)。
在你啟動客戶程序之前,設(shè)置MYSQL_UNIX_PORT和MYSQL_TCP_PORT環(huán)境變量, 指向Unix套接字和TCP/IP的端口。如果你通常使用一個特定的套接字或端口,你應(yīng)該將設(shè)置這些環(huán)境變量的命令放進你的“.login”文件中。
在你的主目錄下的“.my.cnf”文件中指定缺省套接字和TCP/IP端口。
相關(guān)文章
在linux服務(wù)器上配置mysql并開放3306端口的操作步驟
這篇文章主要介紹了在linux服務(wù)器上配置mysql并開放3306端口,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09
MySQL實現(xiàn)replace函數(shù)的幾種實用場景
這篇文章主要介紹了MySQL實現(xiàn)replace函數(shù)的幾種實用場景,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
MYSQL數(shù)據(jù)庫管理之權(quán)限管理解讀
這篇文章主要介紹了MYSQL數(shù)據(jù)庫管理之權(quán)限管理解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03
mysql自動定時備份數(shù)據(jù)庫的最佳方法(windows服務(wù)器)
網(wǎng)上有很多關(guān)于window下Mysql自動備份的方法,可是真的能用的也沒有幾個,有些說的還非常的復(fù)雜,難以操作,這里腳本之家小編為大家分享與整理了幾個軟件方便大家使用2016-11-11

