mysql 5.7 docker 主从复制架构搭建教程
作者:蒋先生 发布时间:2024-01-21 22:46:03
分享mysql 5.7 docker 主从复制架构搭建教程,供大家参考,具体内容如下
环境版本:
MySQL : 5.7.13
Docker : 1.11.2
CentOS : 7.1
1.先在两个物理机上分别安装两个MySQL.命令如下
docker pull mysql:5.7.13
docker run --name anuo-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=qaz.00JK -d mysql:5.7.13
2.在主库上创建一个复制账户
GRANT REPLICATION SLAVE ON *.* TO 'rep1'@'192.168.2.103' IDENTIFIED BY 'qaz.00JK';
复制账户为: rep1
指定从库的IP必须为: 192.168.2.103
复制密码为: qaz.00JK
3.修改主库的配置文件 (麻烦,应该有更方便的修改方式)
3.1先从docker拷贝配置文件到主机/root 目录:
docker cp anuo-mysql:/etc/mysql/my.cnf /root
3.2在主机打开 my.cnf , 在 [mysqld] 节点最后加上
log-bin=mysql-bin
server-id=1
3.3 再把此文件上传到docker mysql 里面覆盖
docker cp /root/my.cnf anuo-mysql:/etc/mysql/my.cnf
3.4 重启 mysql 的docker , 让配置生效
docker restart anuo-mysql
4. 修改从库的配置文件
跟第三步一样, 唯一不同是
server-id=2
5. 开始备份, 在主库执行以下命令, 让主库所有表置于只读不能写的状态, 这样达到主从库数据一致性
FLUSH TABLES WITH READ LOCK;
6. 将主库的数据库备份在从库还原
用navicat for mysql 很方便操作
7. 从库还原后, 释放主库的读锁, 这样主库恢复写权限
unlock tables;
8.配置从库连接主库, 在从库上执行
CHANGE MASTER TO
MASTER_HOST='192.168.2.108',
MASTER_PORT=3306,
MASTER_USER='rep1',
MASTER_PASSWORD='qaz.00JK',
MASTER_LOG_FILE='mysql-bin.000002',
MASTER_LOG_POS=898;
最后两项
MASTER_LOG_FILE 和 MASTER_LOG_POS
在主库执行 : SHOW MASTER STATUS; 命令可以取得
对应的字段是 File 和 Position
9. 在从库启动 slave 线程开始同步
START SLAVE;
10.在从库 查看同步状态
show slave status;
如果看到 Slave_Io_State 字段有 :
Waiting for master to send event ...
那就成功了 ! ! !


猜你喜欢
- 1.简介在编写代码时,往往涉及时间、日期、时间戳的相互转换。2.示例# 引入模块import time, datetime2.1 str类型
- 功能:返回字符、二进制、文本或图像表达式的一部分语法:SUBSTRING ( expression, start, length )&nbs
- 最近一直在整理统计图表的绘制方法,发现Python中除了经典Seaborn库外,还有一些优秀的可交互的第三方库也能实现一些常见的统计图表绘制
- 备份MySQL数据库的命令mysqldump -hhostname -uusername -ppassword
- 改代码是在windows 系统下打开路径和保存路径换成自己的就可以啦~import numpy as npimport matplotlib
- 动态展示这是一个动态图哦导读兄弟们可以收藏一下哦!情人节可以送出去,肥学找了几朵python写的花给封装好送给大家。不是多炫酷但是有足够的用
- 1. SELECT…FOR UPDATE 是什么?作用是什么?select for update 即排他锁,排他锁又称
- 前言由于python3.10之后版本不在支持libressl使用ssl,需要使用openssl安装来解决编译安装python时候遇到的ssl
- 说明:这里仅展示在已经获取图片链接后的下载方式,对于爬虫获取链接部分参考前面的文章1、利用文件读写的方式下载图片#第一种:用urllib2模
- python类中定义的函数称为方法, init ()方法本质也是一个函数。这个函数的作用是初始化实例后的对象。具体如下例:init
- 后台线程•Master Thread核心后台线程,主要负责将缓冲池的数据异步刷新到磁盘。例如脏页的刷新,插入缓冲的合并,undo 页的回收等
- 最近在学习vue,今天看到自定义事件的表单输入组件,纠结了一会会然后恍然大悟...官方教程写得不是很详细,所以我决定总结一下。v-model
- mysql 5.7.21 winx64免安装版配置方法,供大家参考,具体内容如下1、下载点击下载地址2、解压到目录3、配置 新建一
- 提起数据库,第一个想到的公司,一般都会是Oracle。该公司成立于1977年,最初是一家专门开发数据库的公司。Oracle在数据库领域一直处
- 前言本文讲诉了Vuex的安装、搭建。以及Actions、Mutations、State、Getters的使用,为什么使用mapState、m
- 本文实例讲述了python中偏函数partial用法。分享给大家供大家参考。具体如下:函数在执行时,要带上所有必要的参数进行调用。但是,有时
- //-------------------------------------------- // 删除千分点。 //-----------
- 本文实例讲述了Python实现合并同一个文件夹下所有txt文件的方法。分享给大家供大家参考,具体如下:一、需求分析合并一个文件夹下所有txt
- 介绍本期案例是带着大家制作一个属于自己的GUI图形化界面—>用于设计签名的哦(效果如下图),是不是感觉很好玩,是不
- 学习如何使用 Python 的 Pygame 模块编程电脑游戏,并开始操作引力。真实的世界充满了运动和生活。物理学使得真实的生活如此忙碌和动