咨詢電(diàn)話(huà):023-88959644    24小(xiǎo)時(shí)服務熱線:400-023-8809
NEWS CENTER ·
新聞動态
關注中技(jì)互聯 關注前沿

同一台機器(qì)上(shàng)可(kě)以運行(xíng)多(duō)個(gè)MySQL服務器(qì)

發表日期:2014-10-18    文章編輯:    浏覽次數(shù):37    标簽:

有(yǒu)些(xiē)情況下你(nǐ)可(kě)能想要在同一台機器(qì)上(shàng)運行(xíng)多(duō)個(gè)服務器(qì)。例如,你(nǐ)可(kě)能想要測試一個(gè)新的MySQL版本而讓你(nǐ)現有(yǒu)生(shēng)産系統的設置不受到幹擾, 或你(nǐ)可(kě)能是想要為(wèi)不同的客戶提供獨立的MySQL安裝一個(gè)因特網服務供應商。
如果你(nǐ)想要運行(xíng)多(duō)個(gè)服務器(qì),最容易的方法是用不同的TCP/IP端口和(hé)套接字文件重新編譯服務器(qì),因此他們不是偵聽(tīng)同一個(gè)TCP/IP端口或套接字。
假設一個(gè)現存服務器(qì)配置為(wèi)缺省端口号和(hé)套接字文件, 那(nà)麽用一個(gè)這樣configure命令行(xíng)設置新的服務器(qì):

shell> ./configure --with-tcp-port=port_number
--with-unix-socket=file_name
--prefix=/usr/local/mysql-3.22.9

這裏port_number和(hé)file_name應該不同于缺省端口号和(hé)套接字文件路徑名,而且
--prefix值應該指定一個(gè)不同于現存的MySQL安裝所在的安裝目錄。

你(nǐ)可(kě)以用這個(gè)命令檢查由任何當前執行(xíng)的MySQL所使用的套接字和(hé)端口:
shell> mysqladmin -h hostname --port=port_number variables
如果你(nǐ)有(yǒu)一個(gè)MySQL服務器(qì)正運行(xíng)在你(nǐ)使用了的端口上(shàng),你(nǐ)将得(de)到MySQL的一些(xiē)最重要的
可(kě)配置變量的一張表,包括套接字名等。
你(nǐ)也應該編輯你(nǐ)機器(qì)的初始化腳本(可(kě)能是“mysql.server”)來(lái)啓動并殺死多(duō)個(gè)mysqld服務器(qì)。
你(nǐ)不必重新編譯一個(gè)新MySQL服務器(qì),隻要以一個(gè)不同的端口和(hé)套接字啓動即可(kě)。 你(nǐ)可(kě)以通(tōng)過指定在運行(xíng)時(shí)safe_mysqld使用的選項來(lái)改變端口和(hé)套接字:
shell> /path/to/safe_mysqld --socket=file_name --port=port_number
如果你(nǐ)在與開(kāi)啓日志(zhì)的另一個(gè)服務器(qì)相同的一個(gè)數(shù)據庫目錄下運行(xíng)新服務器(qì),你(nǐ)也應該用safe_mysqld的--log和(hé)--log-update選項來(lái)指定日志(zhì)文件的名字,否則,兩個(gè)服務器(qì)可(kě)能正在試圖寫入同一個(gè)日志(zhì)文件。

警告:通(tōng)常你(nǐ)決不應該有(yǒu)在同一個(gè)數(shù)據庫中更新數(shù)據的2個(gè)服務器(qì)! 如果你(nǐ)的OS不支持無故障(fault-free)的系統鎖定,這可(kě)能導緻令人(rén)驚訝的事情發生(shēng)!
如果你(nǐ)想要為(wèi)第二個(gè)服務器(qì)使用另一個(gè)數(shù)據庫目錄,你(nǐ)可(kě)以使用safe_mysqld的
--datadir=path選項。
當你(nǐ)想要連接一個(gè)正在運行(xíng)的, 使用一個(gè)不同于編譯進你(nǐ)的客戶程序中端口的MySQL服務器(qì)時(shí),你(nǐ)可(kě)以使用下列方法之一:
�--host 'hostname' --port=port_numer或[--host localhost] --socket=file_name
啓動客戶。
在你(nǐ)的C或Perl程序中,當連接MySQL服務器(qì)時(shí),你(nǐ)可(kě)以給出端口和(hé)套接字參數(shù)。
在你(nǐ)啓動客戶程序之前,設置MYSQL_UNIX_PORT和(hé)MYSQL_TCP_PORT環境變量, 指向Unix套接字和(hé)TCP/IP的端口。如果你(nǐ)通(tōng)常使用一個(gè)特定的套接字或端口,你(nǐ)應該将設置這些(xiē)環境變量的命令放進你(nǐ)的“.login”文件中。
在你(nǐ)的主目錄下的“.my.cnf”文件中指定缺省套接字和(hé)TCP/IP端口。

如沒特殊注明(míng),文章均為(wèi)中技(jì)互聯原創,轉載請(qǐng)注明(míng)來(lái)自www.zjcoo.com
相關新聞

CopyrightZJCOO technology Co., LTD. All Rights Reserved.    

渝ICP 備11003429号

  • qq客服
  • 公衆号
  • 手機版
  • 新浪微博