MySQL数据库实现主从复制,docker实现版

news2024/11/24 12:10:20

我这里是在同一台电脑上使用docker实现的主从复制,在物理机上整体思路是一致的

预备工作:安装好docker

使用docker运行MySQL

  1. 拉取MySQL镜像
docker pull mysql:5.7
  1. 运行mysql master容器
sudo docker run -p 33061:3306 --name mysql-master-v /mydata/mysql-master/conf:/etc/mysql/conf.d -v /mydata/mysql-master/logs:/logs -v /mydata/mysql-master/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
  1. 运行mysql slave 容器
sudo docker run -p 33062:3306 --name mysql-slave  -v /mydata/mysql-slave/conf:/etc/mysql/conf.d -v /mydata/mysql-slave/logs:/logs -v /mydata/mysql-slave/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7

上边两个主要的区别就是端口号和对应的文件夹不一样

配置mysql master

  1. 在目录/mydata/mysql-master/conf下新增文件,文件名my.cnf,其中内容为
[mysqld]
log-bin=mysql-bin ##启用二进制日志
server_id=101  ## 设置server_id,同一局域网中需要唯一

这里的配置文件对应的在/etc/my.cnf,但是因为修改该文件不方便,所以这样去新增一个文件

  1. 然后重启mysql master
sudo docker restart mysql-master
  1. 创建用户并赋予REPUBLICATIONSLAVE权限。这里创建的用户名和密码都叫xiaoming

进入mysql

sudo docker exec -it mysql-master mysql -uroot -proot

创建用户和权限

GRANT REPLICATION SLAVE ON *.* to 'xiaoming'@'%' identified by 'xiaoming';
  1. 查看master状态
show master status;

在这里插入图片描述
此时就不要在主库做任何操作了,否则可能会变化,上图中的两个值后续会被用到。

配置mysql slave

  1. 在目录/mydata/mysql-slave/conf下新增文件,文件名my.cnf,其中内容为
[mysqld]
server_id=102  ## 设置server_id,同一局域网中需要唯一
  1. 重启mysql slave
sudo docker restart mysql-slave
  1. 配置mysql master的数据

登入mysql

sudo docker exec -it mysql-slave mysql -uroot -proot

设置master,其中的mysql_log_filemaster_log_pos就是配置master时的那两个值

change master to master_host='192.168.0.100',master_port=33061,master_user='xiaoming',master_password='xiaoming',master_log_file='mysql-bin.000001',master_log_pos=441;
  1. 开启同步
start slave;
  1. 查看状态
show slave status;

或使用下列命令竖排查看
show slave status\G;

此时Slave_IO_RunningSlave_SQL_Running应都为Yes,说明设置成功

在这里插入图片描述

此时对master库进行修改,slave库会同步修改

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/53521.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

css3滤镜属性filter实现网页变黑白效果

前言 在特殊的日子里,很多网站页面都是黑白色的,其实用css3滤镜属性filter让网页马上变黑白,一行代码就搞定。 网页变黑白代码实现 方法1:在你的css里加上以下代码即可,网页马上变黑白: html{filter:pr…

【Spring源码系列】Spring扫描注解-@ComponentScan底层原理解读

这里写目录标题前言一、Spring扫描-ComponentScan注解介绍ComponentScan作用ComponentScan重要参数二、Spring扫描-源码分析声明关键点源代码解读Spring扫描流程图前言 先不废话了,直接干吧。 一、Spring扫描-ComponentScan注解介绍 ComponentScan作用 Componen…

vscode搭建LVGL开发环境

更多精彩请关注微信公众号 南山府嵌入式 关注我,每天只是不断 准备环境 vscode msys2 有关vscode程序的安装这里不在演示。 mysys2的安装 点击一步继续操作: 选择安装路径:然后就一直下一步等待安装即可。 安装完成后打开是这样的&#xf…

Qt之天气预报——功能实现篇(含源码+注释)

文章目录一、功能概述1.基本功能2.实时天气模式3.预报天气模式二、天气预报功能示例图1.城市选择(下拉框)2.城市选择(文本框)3. 预报天气日期切换4.刷新操作三、使用类的简述3.1 涉及的Qt类3.2 自定义类3.2.1 自定义结构体3.2.2 自…

基于PHP的玩偶玩具商城网站设计

目 录 摘 要 I Abstract II 第1章 绪论 1 1.1 定制商城网站背景及意义 1 1.1.1 开发背景 1 1.1.2 开发意义 1 1.2研究现状 2 1.2.1个性化定制现状 2 1.2.2 定制类网站技术现状 3 1.3 研究主要内容 3 第2章 玩偶定制网站需求分析 4 2.1注册 4 2.2.1登陆 4 2.2.2账户中心 5 2.2.3…

计算机网络笔记1 概述

计算机网络笔记1 概述笔记前言💗一、计算机网络概述😍二、计算机网络的性能指标💥1、速率2、带宽3、吞吐量4、时延5、时延带宽积6、往返时间(Round-Trip-Time)7、利用率8、丢包率三、计算机网络的体系结构🔥四、计算机网络中的专业…

基于神经气体网络的图像分割与量化(Matlab代码实现)

🍒🍒🍒欢迎关注🌈🌈🌈 📝个人主页:我爱Matlab 👍点赞➕评论➕收藏 养成习惯(一键三连)🌻🌻🌻 🍌希…

菜狗杯Misc抽象画wp

目录一、拿到题目先干嘛二、具体的解密操作1.把文本放到CyberChef中用Magic解密2.把完整的解密内容复制出来3.打开010并以hex格式粘贴内容4.点一下HEX5.保存成png三、用工具拿到隐写内容一、拿到题目先干嘛 题目附件是一个txt,打开里面就是各种字符,拿去…

操作系统考试速成01

1. ___分时____操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机 2.分时操作系统通常采用____时间片轮转___策略为用户服务 3.批处理操作系统:多个作业给到计算机系统 3.实时操作系统:计算机系统…

使用WPS Office模糊处理图片-可用作浏览器背景

前文转到:给浏览器设置一个图片背景/主题 使用WPS Office模糊处理图片-可用作浏览器背景,步骤如下: 1、打开WPS Office,新建一个空白PPT,或者右键-新建-PPT演示文稿 2、将你的图片插入到空白页上,点击 插入…

[激光原理与应用-27]:《激光原理与技术》-13- 激光产生技术 - 激光稳频技术

目录 前言: 第1章 什么频率的稳定性和可复现性。 1.1 频率的稳定度 1.2 频率复现性 第2章 影响激光频率稳定的因素。 2.1 温度引起腔长变化。则有 2.2 大气变化引起折射率的变化。 2.3 机械振动对频率稳定性的影响。 2.4 外部因素 2.5 内部因素 第3章 常…

Day16--购物车页面-商品列表-基于props封装radio的勾选状态

提纲挈领: 我的操作: 1》打开 my-goods.vue 组件的源代码,为商品的左侧图片区域添加 radio 组件: 2》给类名为 goods-item-left 的 view 组件添加样式,实现 radio 组件和 image 组件的左右布局: 1》和2》的…

9 个你可能从未使用过的很棒的 CSS 属性

如今,网络上的每个网站或 Web 应用程序都需要大量的 CSS 代码来装饰它们,这样可以使网站看起来既漂亮又出众。我个人认为如果不使用 CSS,我们将永远不会有一个可以帮助我们脱颖而出的优秀网页设计。 CSS 是一种非常有用的样式表语言&#xf…

记liunx服务器java程序无法访问的问题处理

查看java程序的运行日志: 通过日志查看,在凌晨3点半之后就没有再打印信息了,说明大概在这个点程序已经挂了。 查看liunx的系统日志: 查看linux系统级别的message信息: 在3点半出现了OOM(内存溢出&#xff0…

在构建 Web3 前,需先知道什么是区块链,毕竟 Web3 是基于区块链

什么是区块链 要说什么是区块链,那么这里就不得不提比特币了,它是一种点对点(Peer to Peer,P2P)形式的去中心化加密货币,点对点的传输意味着是一个去中心化的支付系统。比特币的概念最初是由中本聪在2008年…

传奇开服架设教程

传奇架设其实很简单 很多网友非常爱玩这款游戏,可能还有朋友不知道怎么架设这款游戏 今天特意写篇传奇架设教程,希望大家都能打造出真正属于自己的传奇 首先传奇架设需要准备以下几个软件 准备工具: 1、传奇服务端(版本&#…

excel求和怎么操作?这三个简单操作方法,轻松掌握

​excel作为常用的办公软件,不少人都会在工作的时候使用到。其中最常用的一个功能就是使用excel进行求和了。excel求和怎么操作?excel求和的快捷键是什么?今天小编给大家带来了excel求和的三种方法,亲测好用,有需要的小…

C++【类的自动类型转换和强制类型转换】,总要了解一下

学习目标 学习类的自动类型转换和强制类型转换 学习内容 💖类的强制转换数据类型和自动转换数据: 类的强制转换数据类型 想让类的对象强制转换为基本数据类型,需要在类中添加类的转换函数 1、转换函数必须是类方法2、转换函数不能指定返回…

1.2 无监督学习和强化学习

1.2 无监督学习和强化学习无监督学习定义无监督学习与监督学习的区别相关概念流程图强化学习无监督学习 定义 无监督学习 (Unsupervised Learning)是指从无标注数据中学习预测模型的机器学习问题,其本质是学习数据中的统计规律或潜在结构。 无监督学习…

算法与数据结构介绍

算法与数据结构介绍 算法和数据结构不受语言限制,每种编程语言都有关于自己的实现 算法 什么是算法 算法是指解题方案的准确而完整的描述,算法是一系列解决问题的清晰指令,算法使用系统的方法来解决问题的机制。 算法作用 对于实际业务…