Docker 搭建 MySQL 主从复制
首先我这是准备了两台 linux 服务器,如果你只有一台,可以通过修改端口来实现运行多个mysql 实例。
1、拉取mysql镜像,如有,请跳过这一步
docker pull mysql:5.7
2、在两台机器上启动mysql实例
docker run -p 3306:3306 --privileged=true --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
这里对上面的参数做下简单的介绍,如果不想了解这一块直接复制上面的命令执行即可:
配置端口映射:
-p 3306:3306 --name mysql
将容器的3306端口映射到主机的3306端口
配置mysql数据卷挂载
1.-v /mydata/mysql/log:/var/log/mysql(日志文件挂载)
2.-v /mydata/mysql/data:/var/lib/mysql(数据文件挂载)
3.-v /mydata/mysql/conf:/etc/mysql(配置文件挂载)
-e MYSQL_ROOT_PASSWORD=root 设置初始化root用户的密码
-d:以后台方式运行实例
mysql:5.7:指定用这个镜像来创建运行实例
3、Master 主服务器配置
在刚刚挂载的/mydata/mysql/conf新建my.cnf文件,内容为:
[mysqld]
server-id=1
log_bin=master-bin
log_bin_in