docker安装mysql主从

启动主库:

1.docker run --name master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.13

启动从库:

2.docker run --name slave -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.13

​--name 为容器指定名称,这里是master

-p 将容器的指定端口映射到主机的指定端口,这里是将容器的3306端口映射到主机的3306端口

-e 设置环境变量,这里是指定root账号的密码为root

-d 后台运行容器,并返回容器ID

docker 会自动去拉取对应版本的镜像

 3.docker ps -a

查看容器是否正常运行

 4.连接master 执行以下sq 授权复制权限的账号:

GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'slave';
SHOW GRANTS FOR 'slave'@'%';

执行结果:

修改数据库配置文件(一下操作看懂之后 也可以直接去容器操作)

5.mkdir /usr/local/mysql/master

6.mkdir /usr/local/mysql/slave

7.docker cp master:/etc/mysql/my.cnf /usr/local/mysql/master/my.cnf

8.docker cp slave:/etc/mysql/my.cnf /usr/local/mysql/slave/my.cnf

9.vi /usr/local/mysql/master/my.cnf

添加以下两行配置项:

#开启二进制日志,设置server-id,server-id值唯一
log-bin=mysql-bin
server-id=1

10.vi /usr/local/mysql/slave/my.cnf

添加以下两行配置项:

#开启二进制日志,设置server-id,server-id值唯一
log-bin=mysql-bin
server-id=2

11.docker cp /usr/local/mysql/master/my.cnf master:/etc/mysql/my.cnf

12.docker cp /usr/local/mysql/slave/my.cnf slave:/etc/mysql/my.cnf

重启两个容器: docker restart master

        docker restart slave

13.连接slave 执行一下语句设置主从复制:

change master to master_host='宿主机ip',master_port=3306,master_user='slave',master_password='slave';
start slave;
show slave status;

如果Slave_IO_State:Connecting to master 那说明配置有问题 可能是master的host  账号 密码配置错了 检查一下就重新设置一下

重新设置需先停掉从库运行:stop slave;

测试同步:在master 新建库 新建表 然后去slave刷新一下看 是否同步成功

好了 基本的mysql主从环境已经搭建完成,接下来就可以在业务上搞读写分离了 哈哈

下一篇准备写:mysql从库设置全局只读,并创建普通账号

docker安装mysql主从的更多相关文章

  1. Docker 安装mysql主从

    安装docker 1.yum -y install docker 2.查看是否安装成功 docker -v 3.接着将docker后台启动 systemctl start docker.service ...

  2. Docker安装mysql镜像并进行主从配置

    Docker安装mysql镜像并进行主从配置 1.下载需要的mysql版本镜像 docker pull mysql:5.6 2.启动mysql服务实例(基本启动) #启动主mysql docker r ...

  3. Docker容器启动Mysql,Docker实现Mysql主从,读写分离

    Docker容器启动Mysql,Docker实现Mysql主从,读写分离 一.Docker文件编排 二.配置主从复制 2.1 配置master 2.2 配置slave 三.验证主从复制 3.1 mas ...

  4. Docker构建mysql主从

    一.为什么要搭建主从架构呢 1.数据安全,可以进行数据的备份. 2.读写分离,大部分的业务系统来说都是读数据多,写数据少,当访问压力过大时,可以把读请求给到从服务器.从而缓解数据库访问的压力 3.故障 ...

  5. springboot多数据源配合docker部署mysql主从实现读写分离

    本篇主要有两部分: 1.使用docker部署mysql主从 实现主从复制 2.springboot项目多数据源配置,实现读写分离 一.使用docker部署mysql主从 实现主从复制 此次使用的是wi ...

  6. 使用Docker安装Mysql

    最近使用阿里云服务器,学习一下Docker,今天学着使用Docker安装MySQL. 首先,从阿里云的Docker Hub 上pull一个MySQL的image. [centos@loovelj~]$ ...

  7. Docker学习实践 - Docker安装MySql数据库

    Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...

  8. 使用docker安装mysql和redis

    本文介绍在linux下使用docker安装mysql和redis. 原文地址:代码汇个人博客 http://www.codehui.net/info/59.html 测试环境:centos7.6,do ...

  9. 解决Docker安装MySQL不区分大小写问题

    Docker安装MySQL忽略大小写问题的问题连接MySQL: 查看当前mysql的大小写敏感配置 show global variables like '%lower_case%'; +------ ...

随机推荐

  1. EL表达式详细教程

    EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...

  2. c#数据库解析

    引言工作需要将数十万条文本数据解析存入Mysql数据库中,代码使用C#实现,存储效率还可以,以下是一些主要代码的说明. txtdataToMysql 项目描述:解析文本文件,该文件使用爬虫爬下的数十万 ...

  3. moment获取2周后日期

    moment().add('days',14).format('YYYY年MM月DD日');

  4. iOS自动化登录测试demo

    <软件自动化测试开发>出版了 测试开发公开课培训大讲堂 微信公众号:测试开发社区 测试开发QQ群:173172133 咨询QQ:7980068 咨询微信:zouhui1003it

  5. View 属性

    关于 View 设置属性的方式: JavaxmlstyledefStyleAttrdefStyleResTheme 关于 defStyleRes 的使用,和在 xml 中声明 style=" ...

  6. 什么是SNAT

    SNAT是源地址转换,其作用是将ip数据包的源地址转换成另外一个地址,可能有人觉得奇怪,好好的为什么要进行ip地址转换啊,为了弄懂这个问题,我们要看一下局域网用户上公网的原理,假设内网主机A(192. ...

  7. Mybatis调用存储过程报错

    Mybatis调用存储过程 贴码 123456 Error querying database. Cause: java.sql.SQLException: User does not have ac ...

  8. Microsoft Translator:打破语言障碍 拓展全球沟通新机遇

    Translator:打破语言障碍 拓展全球沟通新机遇"> 作者:Olivier Fontana, 微软研究院Microsoft Translator产品战略总监 世界越来越小,全球协 ...

  9. 深入理解JavaScript的函数作用域

    什么是作用域 ? 作用域:一个变量可以生效的范围. 变量不是在所有地方都可以使用的,而这个变量的使用范围就是我们要说的作用域. 注意:在JavaScript中,划分作用域也是用大括号划分的, 但是在 ...

  10. Python——用turtle模块画海龟的第一步

    */ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...