码迷,mamicode.com
首页 > 数据库 > 详细

docker搭建数据库主从复制

时间:2019-02-17 15:31:33      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:usr   设置   数据库主从复制   注意   sql   art   进入   端口号   network   

首先需要安装docker镜像:

docker pull mysql:5.7

由于需要启动数据库才可以进入数据修改my.cnf文件,可以选择安装vi命令,也可以选择挂在

在此选择是挂载的方法进行安装:

docker run --name mastermysql -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=1234 -v /usr/master/data:/var/lib/mysql -v /usr/master/conf/my.cnf:/etc/mysql/my.cnf  mysql:5.7

 

docker run --name slavermysql -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=1234 -v /usr/slaver/data:/var/lib/mysql -v /usr/slaver/conf/my.cnf:/etc/mysql/my.cnf  mysql

这样就可以创建两个mysql容器,但是需要修改my.cnf,上面创建的是文件文件夹

进入 cd /usr/master

执行 rm -rf my.cnf

再执行 vi my.cnf

加入:

[mysqld]
## 同一局域网内注意要唯一
server-id=100  
## 开启二进制日志功能,可以随便取(关键)
log-bin=mysql-bin

在从数据库中也是如此操作:

在文件中加入:

[mysqld]
## 设置server_id,注意要唯一
server-id=101  
## 开启二进制日志功能,以备Slave作为其它Slave的Master时使用
log-bin=mysql-slave-bin   
## relay_log配置中继日志
relay_log=edu-mysql-relay-bin

这样就可以了:

再次启动两个mysql容器:

首先进入主数据:

docker exec -it mastermysql bash

mysql -u root -p

输入密码

执行:
GRANT REPLICATION SLAVE ON *.* to backup@% identified by 123456;


show master status;

这里是需要记住相关内容的

技术图片

还需要给两个实例设置独立的ip

执行:

技术图片

docker inspect --format={{.NetworkSettings.IPAddress}} slavermysql
docker inspect --format={{.NetworkSettings.IPAddress}} mastermysql

再进入从数据库:

docker exec -it slavermysql bash

 mysql -u root -p
输入密码


change master to master_host=172.17.0.3,master_user=backup,master_password=123456,master_log_file=mysql-bin.0000003,master_log_pos=154,master_port=3306;


执行
start slave;
再执行
show slave status\G;

技术图片

 

master_host :Master的地址,指的是容器的独立ip,可以通过docker inspect --format=‘{{.NetworkSettings.IPAddress}}‘ 容器名称|容器id查询容器的ip

master_port:Master的端口号,指的是容器的端口号

master_user:用于数据同步的用户

master_password:用于同步的用户的密码

master_log_file:指定 Slave 从哪个日志文件开始复制数据,即上文中提到的 File 字段的值

master_log_pos:从哪个 Position 开始读,即上文中提到的 Position 字段的值

然后就可以看到:

技术图片

再在主数据库中创建test数据库:

技术图片

再进入从数据库中查看:

技术图片

代表已经安装成功

docker搭建数据库主从复制

标签:usr   设置   数据库主从复制   注意   sql   art   进入   端口号   network   

原文地址:https://www.cnblogs.com/xiufengchen/p/10391253.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!