docker部署mysql主从复制

发布时间 2023-12-10 01:57:14作者: 此时不卷何时卷

一、拉取mysql镜像

docker pull mysql/mysql-cluster
docker tag mysql/mysql-cluster mysql-cluster

二、创建目录和配置文件

1、创建目录

# 创建master主节点目录
mkdir /home/mysql/cluster/master
cd /home/mysql/cluster/master
mkdir conf data files log
# 创建slave1从节点目录
mkdir /home/mysql/cluster/slave1
cd /home/mysql/cluster/slave1
mkdir conf data files log
# 创建slave2从节点目录
mkdir /home/mysql/cluster/slave2
cd /home/mysql/cluster/slave2
mkdir conf data files log
# 创建slave3从节点目录
mkdir /home/mysql/cluster/slave3
cd /home/mysql/cluster/slave3
mkdir conf data files log

2、创建master主配置文件

[mysqld]
# 主服务器唯一ID
server-id=0
# 开启二进制日志
log-bin=mysql-bin
# 设置忽略的数据库
# binlog-ignore-db=mysql
# 设置日志使用内存大小
binlog_cache_size=1M
# 设置日志格式
binlog_format=statement

3、创建slave从配置文件

[mysqld]
# 从服务器唯一ID
server-id=1
# 指定不需要同步的数据库名称
#binlog-ignore-db=mysql
# 开启二进制日志功能,以备slave作为其他数据库实例的master时使用
log-bin=mall-mysql-slave1-bin
# 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
# 设置日志格式
binlog_format=statement
# relay_log 配置中继日志
relay_log=mall-mysql-relay-bin
# log_slave_updates 表示 slave 将复制时间写进自己的二进制日志
log_slave_updates=1
## slave设置为只读 (具有super权限的用户除外)
read_only=1