啟動多個 MySQL 實例只需確保四大關鍵參數互不衝突:
mkdir /mysql1
chown mysql:mysql /mysql1
chmod 755 /mysql1
cp -r /path/to/mysql/var /mysql1
# 或使用 mysql_install_db --datadir=/mysql1 --user=mysql
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
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 排程。mysqld_multi 或 systemd 原生多實例管理。