--prefix=/usr/local/mysql --datadir=/usr/local/mysql/data1 --sysconfdir=/etc/etc/my.cnf使用 mysqld_multi 管理,關鍵在 [mysqld#] 區塊(GNR 編號)分別指定 port、socket、pid-file、datadir、log。示例:
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = mysql
password = mypasswd
[mysqld1]
port = 3306
socket = /tmp/mysql.sock1
datadir = /usr/local/mysql/data1
...
[mysqld2]
port = 3307
socket = /tmp/mysql.sock2
datadir = /usr/local/mysql/data2
...
[mysqld1] 安裝時已存在。其餘實例需創建目錄、複製 mysql 系統庫並授權:
mkdir /usr/local/mysql/data2
cp -R /usr/local/mysql/data1/mysql /usr/local/mysql/data2
chown -R mysql.mysql /usr/local/mysql/data2
mysqld_multi 常用命令/usr/local/mysql/bin/mysqld_multi --config-file=/etc/my.cnf start 1-4
/usr/local/mysql/bin/mysqld_multi --config-file=/etc/my.cnf report 1-4
驗證:ps aux 可見四個 mysqld_safe 進程分別監聽不同端口/套接字。
必須顯式指定 -P port,否則默認連 3306。
在 my.cnf 各實例添加 log-bin、server-id 等復制參數,啟動後各實例獨立產生二進制日誌,可作為主庫。
datadir(tar),傳輸到從機解壓。chown -R mysql.mysql)。my.cnf 配置 server-id=2、master-host、master-user/password/port、log-slave-updates 等。mysqld_multi start 1-4,主庫變更自動復制到對應從庫。計劃將 Server A、B 的不同業務庫融合復制到單一 Server C,實現跨主庫的聚合備份。