mac docker环境搭建mysql主从同步服务器

参考地址:https://www.cnblogs.com/jinjiangongzuoshi/p/9299275.html

1.下载镜像

docker pull MysqL:5.7.19

2.建立配用文件

<style></style>

--MysqL
  --master
    --data
    --conf
      --my.cnf
  --slave
    --data
    --conf
      --my.cnf

3.master配置文件

 

[MysqLd]
server_id = 1

log-bin= MysqL-bin

read-only=0


replicate-ignore-db=MysqL

replicate-ignore-db=sys

replicate-ignore-db=information_schema

replicate-ignore-db=performance_schema


!includedir /etc/MysqL/conf.d/

!includedir /etc/MysqL/MysqL.conf.d/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.slave配置文件

 

[MysqLd]
server_id = 2

log-bin= MysqL-bin

read-only=1


replicate-ignore-db=MysqL

replicate-ignore-db=sys

replicate-ignore-db=information_schema

replicate-ignore-db=performance_schema

 

!includedir /etc/MysqL/conf.d/

!includedir /etc/MysqL/MysqL.conf.d/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5. 启动服务

主服务

<style></style>

docker run --name masterMysqL  -d -p 3307:3306 -eMysqL_ROOT_PASSWORD=123456 ~/docker/MysqL-master/data:/var/lib/MysqL -v ~/docker/MysqL-master/conf/my.cnf:/etc/MysqL/my.cnf  3e3878acd190 

从服务

<style></style>

docker run --name slaveMysqL  -d -p 3308:3306 -eMysqL_ROOT_PASSWORD=123456 -v  ~/docker/MysqL-slave/data:/var/lib/MysqL -v ~/docker/MysqL-slave/conf/my.cnf:/etc/MysqL/my.cnf  imageid

6.进入容器

主服务  

  docker exec -it masterMysqL bash

 

  MysqL -u root -p

  //查看状态,记住File、Position的值,在Slave中将用到

  show master status/G;

从服务 //进入slaver容器

  docker exec -it slaveMysqL bash

//启动MySQL命令,刚在创建窗口时我们把密码设置为:root
MysqL -u root -p
//设置主库链接master_log_file(主服务File)master_log_pos(主服务Position)
change master to master_host='172.17.0.2',master_user='slave',master_password='123456',master_log_file='MysqL-bin.000001',master_log_pos=0,master_port=3306; //启动从库同步 start slave; //查看状态 show slave status\G;
//启动从库同步
start slave;
//查看状态
show slave status\G;
Slave_IO_Running: Yes
Slave_sql_Running: Yes

MysqL --help |grep 'my.cnf'

 

 

chmod 664 /etc/my.cnf

相关文章

Docker是什么Docker是 Docker.Inc 公司开源的一个基于 LXC技...
本文为原创,原始地址为:http://www.cnblogs.com/fengzheng...
镜像操作列出镜像:$ sudo docker imagesREPOSITORY TAG IMA...
本文原创,原文地址为:http://www.cnblogs.com/fengzheng/p...
在 Docker 中,如果你修改了一个容器的内容并希望将这些更改...
在Docker中,--privileged 参数给予容器内的进程几乎相同的权...