• docker pull mysql:5.7

  • 创建目录/mydata/mysql/log /mydata/mysql/conf /mydata/mysql/data
  • docker run -itd --name mysql-back -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql  mysql:5.7
  • docker exec -it '容器ID' bash 进入容器

主数据库

#my.cnf配置编码和忽略大小写
character_set_server=utf8
init_connect='SET NAMES utf8'
# Disabling symbolic-links is recommended to prevent assorted security risks
#symbolic-links=0
lower_case_table_names=1

my.cnf添加

server-id=1 # 服务器唯一id 保证唯一,不能重复(一般为ip最后一段)
log-bin=mysql-bin # 启用二进制日志,MySOL的bin-log的名字
binlog-do-db=mydb # 指定需要同步的数据库

重启mysql

service mysqld restart

在MySQL主上创建用于备份账号

CREATE USER 'resp'@'%' IDENTIFIED BY 'repl123456';

GRANT REPLICATION SLAVE ON *.* TO 'resp'@'%';

MySQL主上,查看bin-log的文件名和位置并记录(resp_mysql.000001 |      605 )

SHOW MASTER STATUS;

编辑MySQL从数据库上的my.cnf

注:docker映射目录创建mysql默认没有配置文件,需要自己创建,目录 /mydata/mysql/conf。也可以先临时创建一个mysql容器,把配置文件cp出来,删除容器后再重新创建挂载。

vi /mydata/mysql/conf/my.cnf
character_set_server=utf8
init_connect='SET NAMES utf8'
lower_case_table_names=1
server-id=2

执行SQL
change master to master_host='ip',master_user='resp',master_password='repl123456',master_port=13306,master_log_file='resp_mysql.000001',master_log_pos=286944;

master host:MySQL主的地址
master_user:备份的用户名
master_password:备份的用户密码
master_log_file:bin-log的文件名
master_log_pos:bin-log的位置

MySOL从上开启同步(如果主数据库之前已有数据,先备份还原到从数据库)

START SLAVE;

查看状态

show slave status

主服务器防火墙端口需要开放从数据库的IP地址,从服务器无需开启。

#修改mysql密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; #给所有权限
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "123456"; 

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

  1. docker安装mysql主从

    docker安装mysql主从 启动主库: 1.docker run --name master -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5 ...

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

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

  3. 安装docker并使用docker安装mysql

    安装Docker 1. Docker 教程地址:https://www.runoob.com/docker/centos-docker.install.html 2.安装docker 命令:yum i ...

  4. Docker安装MySQL,Redis,阿里云镜像加速

    Docker安装 虚拟化容器技术.Docker基于镜像,可以秒级启动各种容器.每一种容器都是一个完整的环境,容器之间相互隔离. 如果之前安装的有其他版本,卸载旧的版本. $ sudo yum remo ...

  5. docker初识-docker安装、基于docker安装mysql及tomcat、基本命令

    一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...

  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. Hive启动报错:java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument

    报错详细: Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preco ...

  2. jsp+servlet上传excel并将数据导入到数据库表的实现方法

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  3. ccf201912-1 报数 C++代码实现

    代码实现: #include<iostream> using namespace std; /*题目限制为三位数*/ /*思路: 1.用一个长度为4的数组(初值为0)保存每个人分别跳过了几 ...

  4. BootstrapBlazor实战-Tree树形控件使用(1)

    实战BootstrapBlazor树型控件Tree的使用, 以及整合Freesql orm快速制作数据库后台维护页面 demo演示的是Sqlite驱动,FreeSql支持多种数据库,MySql/Sql ...

  5. ABP源码分析 - 约定注册(3)

    入口 //ConfigureServices foreach (var module in Modules) { if (module.Instance is AbpModule abpModule) ...

  6. vs技巧 - 调试asp.net core源码

    学习asp.net core的方式除了看官方文档,看源码是也是一种很好的方式.本文介绍一种方法,简单配置vs,无需第三方插件就可以将asp.net core的源码链接自己的项目,随时穿梭于core的源 ...

  7. JWT&RSA实现单点登录(详细介绍)

    今天给大家讲一下基于JWT&RSA的单点登录(Single Sign On,简称SSO)解决方案 概念 首先要了解几个概念 单点登录(Single Sign On) JWT RSA 背景 为什 ...

  8. python---复杂度、斐波那切数列、汉诺塔

    时间复杂度 ​ 用来估计算法运行时间的一个式子. ​ 一般来说, 时间复杂度高的算法比复杂度低的算法慢. 常见的时间复杂度: ​ O(1) < O(logn) < O(n) < O( ...

  9. Redis 未授权访问漏洞【原理扫描】修复方法

    漏洞类型 主机漏洞 漏洞名称/检查项 Redis 配置不当可直接导致服务器被控制[原理扫描] 漏洞名称/检查项 Redis 未授权访问漏洞[原理扫描] 加固建议 防止这个漏洞需要修复以下三处问题 第一 ...

  10. SpringMVC基础原理

    1.拦截所有请求到DispatcherServlet 2.去寻找映射器 3.根据处理器适配器处理业务,返回视图 4.视图解析器解析显示视图