文档章节

基于Docker的MySQL主从数据库搭建

Raphael_Zhang
 Raphael_Zhang
发布于 2018/04/19 12:26
字数 373
阅读 754
收藏 25

基于Docker的MySQL主从数据库搭建

master主数据库

新增mysql配置文件mysql-master.cnf

[mysqld]
log-bin=mysql-bin
server-id=161

注:server-id一般为ip最后一段

编写Dockerfile

FROM mysql:latest
MAINTAINER Raphael Zhang
COPY mysql-master.cnf /etc/mysql/conf.d/
EXPOSE 3306
CMD ["mysqld"]

docker.io的mysql镜像配置文件结构与nginx类似,通过以上脚本导入配置即可。

构建docker镜像

docker build -t mysql-master:latest .

创建容器

docker run --name mysql-master -p 3306:3306 -v $HOME/mysql/conf.d:/etc/mysql/conf.d -v $HOME/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD={your passwd} -d mysql-master:latest

登陆到主数据库容器,查看master状态

docker exec -it mysql-master bash

image

主数据库创建用户

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
GRANT REPLICATION SLAVE ON *.* to 'backup'@'%' identified by 'mysql_master';

slave从数据库

创建方式与master方式类似

新增mysql配置文件mysql-slave.cnf

[mysqld]
log-bin=mysql-bin
server-id=163

注:server-id一般为ip最后一段

编写Dockerfile

FROM mysql:latest
MAINTAINER Raphael Zhang
COPY mysql-slave.cnf /etc/mysql/conf.d/
EXPOSE 3306
CMD ["mysqld"]

镜像构建过程类似,不再赘述

登陆从数据库,设置相关参数

SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
change master to master_host='172.31.196.161',master_user='backup',master_password='mysql_master',master_log_file='mysql-bin.000002',master_log_pos=439;

master_host为docker的地址不能写127.0.0.1
master_user是在主库创建的用户
master_log_pos是主库show master status;查询出的Position

启动服务

start slave;

查看服务状态

show slave status;

显示

Waiting for master to send event

即是成功了。

© 著作权归作者所有

Raphael_Zhang
粉丝 3
博文 5
码字总数 4750
作品 0
程序员
私信 提问
MySQL主从复制——主库已有数据的解决方案

在上篇文章中我们介绍了基于Docker的Mysql主从搭建,一主多从的搭建过程就是重复了一主一从的从库配置过程,需要注意的是,要保证主从库my.cnf中server-id的唯一性。搭建完成后,可以在主库查...

撸码那些事
2018/07/30
0
0
基于Docker的Mysql主从复制搭建

为什么基于Docker搭建? 资源有限 虚拟机搭建对机器配置有要求,并且安装mysql步骤繁琐 一台机器上可以运行多个Docker容器 Docker容器之间相互独立,有独立ip,互不冲突 Docker使用步骤简便,...

撸码那些事
2018/07/26
0
0
docker学习系列12 轻松实现 mysql 主从同步

docker的一大好处是在本地可以很方便快速的搭建负载均衡,主从同步等需要多主机的环境。 可以说是极大方便了运维成本和难度。 本节在本地搭建mysql的一主一从的集群环境。 关于主从同步的流程...

飞凡的陀螺
2018/08/24
0
0
基于 Docker 搭建 MySQL 主从复制

作者:秋田君 原文:开源中国 摘要: 本篇博文相对简单,因为是初次使用Docker,MySQL的主从复制之前也在Centos环境下搭建过,但是也忘的也差不多了,因此本次尝试在Docker中搭建。 本篇博文相...

开源中国
2018/05/23
0
0
Docker搭建MySQL主从集群

关于MySQL主从模式,如果我们直接在本机上搭建的话,是没法搭建的,只能借助于虚拟机,但有的时候我们又需要搭建一个主从集群,以便于进行一些功能性的测试。这个时候我们就可以尝试使用doc...

爱宝贝丶
09/02
222
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊rocketmq的pullThresholdForTopic

序 本文主要研究一下rocketmq的pullThresholdForTopic pullThresholdForTopic rocketmq-client-4.5.2-sources.jar!/org/apache/rocketmq/client/consumer/DefaultMQPushConsumer.java publi......

go4it
12分钟前
4
0
sqlplus / as sysdba 没有权限

想通过如下命令登陆,这种方式是以操作系统权限认证的oracle sys管理员登陆 sqlplus / as sysdba BUT.... 提示我没有权限, 百度下是由于当前用户不在ora_dba用户组中 (我的环境是win10) ...

1只特立独行的猪
26分钟前
4
0
[2019好程序员大数据教程]SparkGraphx从入门到精通(33集视频+源码+笔记)

1、什么是Spark GraphX? Spark GraphX是一个分布式的图处理框架。社交网络中,用户与用户之间会存在错综复杂的联系,如微信、QQ、微博的用户之间的好友、关注等关系,构成了一张巨大的图,单...

好程序员官网
59分钟前
7
0
DDD(十)--仓储

1、引言 DDD中的Repository(仓储):协调领域和数据映射层,利用类似与集合的接口来访问领域对象。——《领域驱动设计-软件核心复杂性应对之道》 仓储是DDD中产生的概念,也就是说,如果应...

MrYuZixian
今天
10
0
Jenkins的多种迁移方法

说明 Jenkins有时需要进行迁移,主目录会发生改变,本文主要讲解如何更改主目录。由于jenkins安装方式的不同,主目录也不一样。 本测试环境:Centos7.6 X64。注意:在更改主目录之前,请一定...

Elson
今天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部