搭建步骤
1、拉取镜像
docker pull mysql:latest
2、查看镜像
docker images
3、创建启动容器
Master
docker run -p 3306:3306 --name mysql-master -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
Slave
docker run -p 3307:3306 --name mysql-slave -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
MySQL 主数据库端口为 3306,容器名称为 mysql-master,默认密码为 123456,-d 为后台运行。
MySQL 从数据库端口为 3307,容器名称为 mysql-slave,默认密码为 123456,-d 为后台运行。
4、配置Master
进入容器:
docker exec -it mysql-master /bin/bash
修改配置文件:
cd /etc/mysqlvim my.cnf
找不到vim命令解决:
# 更新包
apt-get update
# 安装vim
apt-get install vim -y
修改配置文件,添加如下配置:
# 同一局域网内注意要唯一
server-id=1
# 开启二进制日志功能,二进制文件名称
log-bin=master-bin
# 二进制日志格式,有row、statement、mixed三种格式,row指的是把改变的内容复制过去,而不是把命令在从服务器上执行一遍,statement指的是在主服务器上执行的SQL语句,在从服务器上执行同样的语句。MySQL默认采用基于语句的复制,效率比较高。mixed指的是默认采用基于语句的复制,一旦发现基于语句的无法精确的复制时,就会采用基于行的复制。
binlog-format=ROW
# 同步的数据库名称,如果不配置,表示同步所有的库
binlog-do-db=数据库名
重启容器:
docker restart mysql-master
5、配置Slave
进入容器:
docker exec -it mysql-slave /bin/bash
修改配置文件如下:
# 同一局域网内注意要唯一
server