MySQL資料庫搭建系列之多執行個體

來源:互聯網
上載者:User

MySQL資料庫搭建系列之多執行個體

所謂多執行個體,就是在一台伺服器上搭建、運行多個MySQL執行個體,每個執行個體使用不同的服務連接埠,通過不同的socket監聽;物理上,每個執行個體擁有獨立的參數設定檔及資料庫。

通常情況下,一台伺服器是不建議運行多個MySQL執行個體的,尤其是生產環境,因為這會造成資源相互強佔問題。但在一些高可用環境中,卻有這樣的需求,比如:利用Heartbeat搭建的容錯移轉叢集環境,若主備伺服器只運行一個MySQL執行個體,則待命伺服器平常處於閑置狀態,造成了資源浪費;若各自運行一個MySQL執行個體,則在一方故障時,要求另一方接管其任務,即同時運行兩個MySQL執行個體。基於這個需求,應合理配置MySQL伺服器,使其具備同時運行多個執行個體的能力。

如何才能在一台伺服器上搭建、運行多個MySQL執行個體,其關鍵在於如何為每個執行個體分配獨立的參數檔案,以下是幾種常用的多執行個體方案,分別來學習、熟悉一下。

Ubuntu 14.04下安裝MySQL

《MySQL權威指南(原書第2版)》清晰中文掃描版 PDF

Ubuntu 14.04 LTS 安裝 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主從伺服器

Ubuntu 12.04 LTS 構建高可用分布式 MySQL 叢集

Ubuntu 12.04下原始碼安裝MySQL5.6以及Python-MySQLdb

系統內容

OS:CentOS 5.8 (x86_64) 核心:2.6.18-308.el5 DB:MySQL 5.5.17

一. 採用源碼包安裝MySQL實現多執行個體

源碼包是最靈活的安裝包,可定製編譯一些路徑參數,可安裝到任何路徑,因此可在一台伺服器搭建多個MySQL執行個體。本例安裝兩個MySQL執行個體,步驟如下:

1. 準備工作

從MySQL 5.5開始,改用cmake工具來編譯源碼包,所以要首先安裝它,可參考其它文檔,此處不做講解。另外,編譯之前還需安裝ncurses-devel、bison兩個依賴包,否則會編譯失敗。

――安裝依賴包

# rpm -ivh ncurses-devel-5.5-24.20060715.x86_64.rpm

# rpm -ivh bison-2.3-2.1.x86_64.rpm

――建立mysql系統組及使用者

# groupadd -g 497 mysql

# useradd –u 499 -g mysql mysql

――解壓安裝包

# tar -zxvf mysql-5.5.17.tar.gz

# cd mysql-5.5.17

2. 編譯、安裝

l MySQL執行個體1:

(連接埠:3306,安裝目錄:/usr/local/mysqla,資料檔案目錄:/data/lib/mysqla)

――定製編譯

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysqla-DMYSQL_TCP_PORT=3306 -DMYSQL_DATADIR=/data/lib/mysqla-DMYSQL_UNIX_ADDR=/data/lib/mysqla/mysql.sock -DSYSCONFDIR=/usr/local/mysqla-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1-DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1-DWITH_SSL=yes -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci-DEXTRA_CHARSETS=all

# make

# make install

――建立系統資料庫及系統資料表

# cd /usr/local/mysqla/

# scripts/mysql_install_db --user=mysql--basedir=/usr/local/mysqla --datadir=/data/lib/mysqla

l MySQL執行個體2:

(連接埠:3307,安裝目錄:/usr/local/mysqlb,資料檔案目錄:/data/lib/mysqlb)

――刪除舊的緩衝及對象檔案

再次編譯之前,要清除原來的緩衝資訊及對象檔案,如下:

# cd mysql-5.5.17

# make clean

# rm -rf CMakeCache.txt

――定製編譯

# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysqlb-DMYSQL_TCP_PORT=3307 -DMYSQL_DATADIR=/data/lib/mysqlb-DMYSQL_UNIX_ADDR=/data/lib/mysqlb/mysql.sock -DSYSCONFDIR=/usr/local/mysqlb-DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1-DWITH_PARTITION_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1-DWITH_SSL=yes -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci-DEXTRA_CHARSETS=all

# make

# make install

――建立系統資料庫及系統資料表

# cd /usr/local/mysqlb/

# scripts/mysql_install_db --user=mysql--datadir=/data/lib/mysqlb

更多詳情見請繼續閱讀下一頁的精彩內容:

  • 1
  • 2
  • 3
  • 4
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.