首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Linux 多實例 MySQL 部署指南:不同 port、socket、data 目錄啟動多個 mysqld

     編輯:MySQL 資料庫相關知識

核心原則

啟動多個 MySQL 實例只需確保四大關鍵參數互不衝突:

  • pid-file:進程 ID 檔案
  • datadir:資料目錄
  • socket:Unix 域套接字
  • port:TCP 監聽埠

部署步驟

1. 準備資料目錄

mkdir /mysql1
chown mysql:mysql /mysql1
chmod 755 /mysql1

2. 複製/初始化資料庫檔案

cp -r /path/to/mysql/var /mysql1
# 或使用 mysql_install_db --datadir=/mysql1 --user=mysql

3. 建立啟動腳本 start_mysql

#!/bin/sh
rundir=$1
port=$2
echo "Starting MySQL on $rundir port $port"
/www/mysql/bin/mysqld_safe \
  --user=mysql \
  --pid-file="$rundir/mysql.pid" \
  --datadir="$rundir/var" \
  --port="$port" \
  --socket="$rundir/mysql.sock" \
  -O max_connections=500 \
  -O wait_timeout=600 \
  -O key_buffer=32M &

使用方式:./start_mysql /mysql1 3307

4. 建立停止腳本 stop_mysql

#!/bin/sh
rundir=$1
echo "Stopping MySQL on $rundir"
/www/mysql/bin/mysqladmin -u root -p -S "$rundir/mysql.sock" shutdown

進階管理建議

  • 使用 systemd 服務單元管理多實例(現代 Linux 標準做法)。
  • 配置 /etc/my.cnf 使用 !includedir /etc/mysql/conf.d/,每實例一個 .cnf 檔案。
  • 監控腳本定期檢查各實例 SHOW PROCESSLIST、SHOW SLAVE STATUS(若為複寫)。
  • 備份策略:每實例獨立 mysqldump 或 xtrabackup 排程。
適用版本: MySQL 4.0/4.1/5.0/5.1 等舊版本手動部署方式;MySQL 5.7+ 建議使用 mysqld_multi 或 systemd 原生多實例管理。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved