mysql主从复制架构
mkdir -p /data/mysql/master/{conf,data}
mkdir -p /data/mysql/slave1/{conf,data}
mkdir -p /data/mysql/slave2/{conf,data}
echo "
[mysqld]
character-set-server=utf8
log-bin=mysql-bin
server_id=1
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
" > /data/mysql/master/conf/my.cnf
echo "
[mysqld]
character-set-server=utf8
log-bin=mysql-bin
server_id=2
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
" > /data/mysql/slave1/conf/my.cnf
echo "
[mysqld]
character-set-server=utf8
log-bin=mysql-bin
server_id=3
[mysql]
default-character-set=utf8
[client]
default-character-set=utf8
" > /data/mysql/slave2/conf/my.cnf
主库
docker run -d
-p 3306:3306
-e MYSQL_ROOT_PASSWORD=root
-e TZ=Asia/Shanghai
-v /data/mysql/master/conf/my.cnf:/etc/my.cnf
-v /data/mysql/master/data:/var/lib/mysql
–network=mynet
–name mysql-master mysql:5.7
从库1
docker run -d
-p 3307:3306
-e MYSQL_ROOT_PASSWORD=root
-e TZ=Asia/Shanghai
-v /data/mysql/slave1/conf/my.cnf:/etc/my.cnf
-v /data/mysql/slave1/data:/var/lib/mysql
–network=mynet
–name mysql-slave1 mysql:5.7
从库2
docker run -d
-p 3308:3306
-e MYSQL_ROOT_PASSWORD=root
-e TZ=Asia/Shanghai
-v /data/mysql/slave2/conf/my.cnf:/etc/my.cnf
-v /data/mysql/slave2/data:/var/lib/mysql
–network=mynet
–name mysql-slave2 mysql:5.7
master设置用户
grant replication slave on . to sl@‘%’ identified by ‘root’;
show master status;
从库
CHANGE MASTER TO
MASTER_HOST=‘mysql-master’,
MASTER_USER=‘sl’,
MASTER_PASSWORD=‘root’,
MASTER_LOG_FILE=‘mysql-bin.000003’,
MASTER_LOG_POS=427;
start slave;
show slave status\G;