一、拉取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