环境准备
两台虚拟机 db02(10.0.0.12) db03(10.0.0.13)
每台创建四个mysql实例:3307 3308 |db02 3309 3310 |db03
创建相关目录初始化数据
mkdir /data/330{7..10}/data -p
for i in 7 8 9 10;do mysqld --initialize-insecure --user=mysql --datadir=/data/330${i}/data --basedir=/app/database/mysql ;done
准备DB02配置文件和启动脚本
for i in {7..10};do echo "
[mysqld]
basedir=/app/database/mysql
datadir=/data/330${i}/data
socket=/data/330${i}/mysql.sock
port=330${i}
log-error=/data/330${i}/mysql.log
log_bin=/data/330${i}/mysql-bin
binlog_format=row
skip-name-resolve
server-id=${i}
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1" >/data/330${i}/my.cnf ;
echo "
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/database/mysql/bin/mysqld --defaults-file=/data/330${i}/my.cnf
LimitNOFILE = 5000" > /etc/systemd/system/mysqld330${i}.service;done
准备DB03配置文件和启动脚本
for i in {7..10};do echo "
[mysqld]
basedir=/app/database/mysql
datadir=/data/330${i}/data
socket=/data/330${i}/mysql.sock
port=330${i}
log-error=/data/330${i}/mysql.log
log_bin=/data/330${i}/mysql-bin
binlog_format=row
skip-name-resolve
server-id=1${i}
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1" >/data/330${i}/my.cnf ;
echo "
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/app/database/mysql/bin/mysqld --defaults-file=/data/330${i}/my.cnf
LimitNOFILE = 5000" > /etc/systemd/system/mysqld330${i}.service;done
修改权限,启动多实例
chown -R mysql.mysql /data/*
for i in {7..10};do systemctl start mysqld330${i};done
for i in {7..10};do ss -ntlup|grep 330${i};done
for i in {7..10};do mysql -S /data/330${i}/mysql.sock -e "show variables like 'server_id'";done