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. Nginx for windows 访问路径包含中文

    转载自http://blog.csdn.net/five824/article/details/48261213 Nginx for windows 访问路径包含中文 原创 2015年09月07日 0 ...

  2. Navicat远程连接服务器Mysql

    使用NAVICAT远程访问MYSQL的步骤 1.修改远程访问权限 //进入MySQL服务器或使用其它工具 xxxx@ubuntu:/$ mysql -h localhost -u root -p xx ...

  3. CF580D_Kefa and Dishes

    D. Kefa and Dishes time limit per test 2 seconds memory limit per test 256 megabytes input standard ...

  4. webpack在用dev-server的时候怎么配置多入口文件

    类似下面这样就可以了,entry设置为对象 每个入口设置为属性,属性的值是一个数组,就可以像单入口一样往这个数组添加entry: { Profile: [ 'webpack-dev-server/cl ...

  5. 有关PHP的可变函数

    事情的起因是这样子的,最近看到一道题,问的是 <?php $_POST['a']($_POST['b']);?> 这句代码有什么问题,答案很明显因为PHP的可变函数这个特性,导致了任意代码 ...

  6. HDU 5894 hannnnah_j’s Biological Test【组合数学】

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5894 题意: 一个圆桌上有$n$个不同的位置,$m$个相同的人安排到这$n$个位置上,要求两人相邻的 ...

  7. Jprofile解析dump文件使用详解

    1 Jprofile简介 官网 下载对应的系统版本即可 性能查看工具JProfiler,可用于查看java执行效率,查看线程状态,查看内存占用与内存对象,还可以分析dump日志. 2 功能简介 选择a ...

  8. Vmware Workstation 15 Pro安装Arch Linux并配置Docker

    主机配置: CPU:Intel Core i7-7700HQ 2.8GHz 2.8GHz 内存:16GB 操作系统:Windows 10 Home 64bit 双显卡:Intel HD Graphic ...

  9. sys.argv的意义[转]

    sys.argv的意义 原文地址:https://www.cnblogs.com/zzliu/p/10775049.html 简单来说,sys.argv是一个参数列表,这个列表存放着从外界获取到的参数 ...

  10. 使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解

    使用Navicat或者其他数据库工具连接阿里云EDS(数据库服务器)实例过程详解 背景:这几天从阿里云上面购买了云服务器,最垃圾的那种,还送oss和EDS数据库服务器,只不过EDS数据库服务器只有一个 ...