docker安装mysql主从
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主从的更多相关文章
- Docker 安装mysql主从
安装docker 1.yum -y install docker 2.查看是否安装成功 docker -v 3.接着将docker后台启动 systemctl start docker.service ...
- Docker安装mysql镜像并进行主从配置
Docker安装mysql镜像并进行主从配置 1.下载需要的mysql版本镜像 docker pull mysql:5.6 2.启动mysql服务实例(基本启动) #启动主mysql docker r ...
- Docker容器启动Mysql,Docker实现Mysql主从,读写分离
Docker容器启动Mysql,Docker实现Mysql主从,读写分离 一.Docker文件编排 二.配置主从复制 2.1 配置master 2.2 配置slave 三.验证主从复制 3.1 mas ...
- Docker构建mysql主从
一.为什么要搭建主从架构呢 1.数据安全,可以进行数据的备份. 2.读写分离,大部分的业务系统来说都是读数据多,写数据少,当访问压力过大时,可以把读请求给到从服务器.从而缓解数据库访问的压力 3.故障 ...
- springboot多数据源配合docker部署mysql主从实现读写分离
本篇主要有两部分: 1.使用docker部署mysql主从 实现主从复制 2.springboot项目多数据源配置,实现读写分离 一.使用docker部署mysql主从 实现主从复制 此次使用的是wi ...
- 使用Docker安装Mysql
最近使用阿里云服务器,学习一下Docker,今天学着使用Docker安装MySQL. 首先,从阿里云的Docker Hub 上pull一个MySQL的image. [centos@loovelj~]$ ...
- Docker学习实践 - Docker安装MySql数据库
Docker安装MySQL数据库 1.Ubuntu安装MySQL安装 (1)安装编译源码需要的包 sudo apt-get install make cmake gcc g++ bison libnc ...
- 使用docker安装mysql和redis
本文介绍在linux下使用docker安装mysql和redis. 原文地址:代码汇个人博客 http://www.codehui.net/info/59.html 测试环境:centos7.6,do ...
- 解决Docker安装MySQL不区分大小写问题
Docker安装MySQL忽略大小写问题的问题连接MySQL: 查看当前mysql的大小写敏感配置 show global variables like '%lower_case%'; +------ ...
随机推荐
- EL表达式详细教程
EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...
- c#数据库解析
引言工作需要将数十万条文本数据解析存入Mysql数据库中,代码使用C#实现,存储效率还可以,以下是一些主要代码的说明. txtdataToMysql 项目描述:解析文本文件,该文件使用爬虫爬下的数十万 ...
- moment获取2周后日期
moment().add('days',14).format('YYYY年MM月DD日');
- iOS自动化登录测试demo
<软件自动化测试开发>出版了 测试开发公开课培训大讲堂 微信公众号:测试开发社区 测试开发QQ群:173172133 咨询QQ:7980068 咨询微信:zouhui1003it
- View 属性
关于 View 设置属性的方式: JavaxmlstyledefStyleAttrdefStyleResTheme 关于 defStyleRes 的使用,和在 xml 中声明 style=" ...
- 什么是SNAT
SNAT是源地址转换,其作用是将ip数据包的源地址转换成另外一个地址,可能有人觉得奇怪,好好的为什么要进行ip地址转换啊,为了弄懂这个问题,我们要看一下局域网用户上公网的原理,假设内网主机A(192. ...
- Mybatis调用存储过程报错
Mybatis调用存储过程 贴码 123456 Error querying database. Cause: java.sql.SQLException: User does not have ac ...
- Microsoft Translator:打破语言障碍 拓展全球沟通新机遇
Translator:打破语言障碍 拓展全球沟通新机遇"> 作者:Olivier Fontana, 微软研究院Microsoft Translator产品战略总监 世界越来越小,全球协 ...
- 深入理解JavaScript的函数作用域
什么是作用域 ? 作用域:一个变量可以生效的范围. 变量不是在所有地方都可以使用的,而这个变量的使用范围就是我们要说的作用域. 注意:在JavaScript中,划分作用域也是用大括号划分的, 但是在 ...
- Python——用turtle模块画海龟的第一步
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...