首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

單一伺服器部署多個 MySQL 實例完整實作指南

     編輯:MySQL 綜合教學

單一伺服器部署多個 MySQL 實例完整實作指南

本文詳細說明如何在一台 CentOS 6.8 伺服器上,透過原始碼編譯方式安裝兩個不同版本的 MySQL(5.5.32 與 5.6.31),並配置獨立的資料目錄、通訊埠與 Socket 檔案,實現多實例並行運行。

一、規劃環境與目錄結構

項目MySQL 5.5.32 (實例 1)MySQL 5.6.31 (實例 2)
安裝程式目錄/mysqlsoft/mysql1/mysqlsoft/mysql2
Socket 檔案/mysqlsoft/mysql1/mysql.sock/mysqlsoft/mysql2/mysql.sock
資料目錄/data/mysql1/data/mysql2
監聽埠號33013302

二、建立系統使用者與目錄權限

# 建立 mysql 群組與使用者
groupadd mysql
useradd mysql -g mysql

# 建立軟體與資料目錄
mkdir -p /mysqlsoft/mysql1 /mysqlsoft/mysql2
mkdir -p /data/mysql1 /data/mysql2

# 設定目錄擁有者
chown -R mysql:mysql /mysqlsoft/mysql1 /mysqlsoft/mysql2
chown -R mysql:mysql /data/mysql1 /data/mysql2

三、安裝編譯所需套件

yum install cmake make gcc perl -y

四、編譯安裝 MySQL 5.5.32

cd /mysqlsoft/mysql1
tar -zxvf mysql-5.5.32.tar.gz
mkdir bootstrap && cd bootstrap

cmake .. \
  -DCMAKE_INSTALL_PREFIX=/mysqlsoft/mysql1 \
  -DMYSQL_DATADIR=/data/mysql1 \
  -DSYSCONFDIR=/mysqlsoft/mysql1 \
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
  -DMYSQL_TCP_PORT=3301 \
  -DMYSQL_UNIX_ADDR=/mysqlsoft/mysql1/mysql.sock

make && make install

安裝後設定

cd /mysqlsoft/mysql1
cp ./support-files/my-default.cnf my.cnf
# 編輯 my.cnf 加入必要配置項
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql
# 確認 /data/mysql1 權限正確

五、編譯安裝 MySQL 5.6.31

cd /mysqlsoft/mysql2
tar -zxvf mysql-5.6.31.tar.gz
mkdir bootstrap && cd bootstrap

cmake .. \
  -DCMAKE_INSTALL_PREFIX=/mysqlsoft/mysql2 \
  -DMYSQL_DATADIR=/data/mysql2 \
  -DSYSCONFDIR=/mysqlsoft/mysql2 \
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
  -DMYSQL_TCP_PORT=3302 \
  -DMYSQL_UNIX_ADDR=/mysqlsoft/mysql2/mysql.sock

make && make install

安裝後設定

cd /mysqlsoft/mysql2
cp ./support-files/my-default.cnf my.cnf
# 編輯 my.cnf 加入必要配置項
chown -R mysql:mysql .
scripts/mysql_install_db --user=mysql
# 確認 /data/mysql2 權限正確

六、啟動兩個 MySQL 實例

# 啟動實例 1 (5.5.32)
cd /mysqlsoft/mysql1
bin/mysqld_safe --user=mysql &

# 啟動實例 2 (5.6.31)
cd /mysqlsoft/mysql2
bin/mysqld_safe --user=mysql &

七、驗證啟動狀態

ps -ef | grep mysql

預期輸出應顯示兩組 mysqld 進程,分別監聽 3301 與 3302 埠,使用不同的 basedir、datadir 與 socket 路徑。

八、安全性初始化建議

  1. 修改 root 密碼
  2. 移除匿名使用者
  3. 移除 test 資料庫相關權限:
    DELETE FROM mysql.db WHERE Db LIKE 'test%';

透過上述步驟,即可在單一伺服器上穩定運行多個版本不同的 MySQL 實例,滿足開發、測試或舊系統並行需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved