docker-mysql-主从设计

news2025/1/13 13:19:27

一、docker主从

1.新建主从镜像

docker run -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.28
docker run -p 3308:3306 --name mysqlslave -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7.28

2.分别进入两个容器,修改配置文件

#1.进入容器
$ docker exec -it mysql sh
$ docker exec -it mysqlslave sh
#2.分别安装vim
$ apt-get update
$ apt-get install vim
#3.mysql的配置
$ cd etc/mysql
$ vim my.cnf
    #填入以下内容
        [mysqld]
        #保证唯一性
        server-id=1 
        #开启binlog日志并设置文件名字
        log_bin=master-bin
#4.mysqlslave的配置
$ cd etc/mysql
$ vim my.cnf
    #填入以下内容
    	[mysqld]
		#保证唯一性
         server-id=2
         #开启relay日志并设置文件名字
         relay_log=slave-relay	

#5.重启容器 或 service mysql restart

3.在nv上操作

3.1查看mysql-master状态配置并进行连接,记录圈起来的部分

show master status;

在这里插入图片描述

3.2在mysql-slave执行sql语句

  • master_host :Master的地址,这儿需要的是容器在的独立IP 可以进入容器查看,也可执行docker指令查看:
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称/容器id
  • master_usermaster_password:用于同步的用户的密码,实际中肯定不能使用root用户
  • master_port:容器的端口,不是映射端口哦
  • master_log_file:指定 Slave 从哪个日志文件file开始复制数据
  • master_log_pos:从哪个 Position 开始读,都是对应master中的值
change master to master_host='172.17.0.2',
master_user='root',
master_password='root',
master_port=3306,
master_log_file='master-bin.000001',
master_log_pos= 1563;

启动slave

start slave;

查看从节点信息

show slave status

在这里插入图片描述

4.其他

这个主从架构师可能失败的,如果查看slave状态发现Slave_SQL_Running=no 就表示主从同步失败了,可能是在从库进行了些,导致从主库同步过来主键冲突。也可能是从库服务重启之后有事务回滚了。如果是从库事务回滚可以:

stop slave ;
set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; 
start slave ;

还可以重新设置主节点的binlog信息 重新指定position,可能需要处理一下从节点上面的数据

其他参数:

#master:
#需要同步的二进制数据库名 
binlog-do-db=masterdemo 
#只保留7天的二进制日志,以防磁盘被日志占满(可选) 
expire-logs-days = 7 
#不备份的数据库 
binlog-ignore-db=xxx1
binlog-ignore-db=xxx2

#从库:
#如果master库名[mastdemo]与salve库名[mastdemo01]不同,使用以下配置[需要做映射] 
replicate-rewrite-db = xxx -> aaa
#如果不是要全部同步[默认全部同步],则指定需要同步的表 
replicate-wild-do-table=xxx1
replicate-wild-do-table=xxx2

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

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

相关文章

Java8新特性【函数式接口、Lambda表达、Stream流】

一、Lambda表达式 Java8是Java语言自JDK1.5以后的一个重大的里程碑版本,因为它增加了很多新特性,这些新特性会改变编程的风格和解决问题的方式。 例如:日期时间API、Lambda表达式(λ)、Stream API(操作集合)、方法引用…

用户量达6.33亿即时配送,拼的不止这些

上班忘了带电脑,回去取的话,来回要3个小时,还得损失半天薪资;好友生日,想在聚餐时给对方一个惊喜,但带着蛋糕去又容易提前剧透;老人突然生病在家,医院的号难挂、得排长队&#xff0c…

TSINGSEE视频能力在交通运输可视化管理平台项目中的应用

一、行业背景 为贯彻落实交通强国试点工作要求,提升交通建设工程信息化管理水平,进一步强化交通建设工程管理,各地政府部门决定在全省高速公路、国省道、大型水运、地方铁路、机场工程安装视频监控系统,在建交通建设项目尚未安装…

OldWang带你了解MySQL(九)

文章目录 🔥MySQL中的索引🔥MySQL中的索引类型🔥普通索引🔥唯一索引🔥主键索引🔥组合索引 🔥MySQL中的索引 索引介绍 索引是对数据库表中的一列或多列值进行排序的一种结构,使用索引…

【C++学习笔记】字符串、向量和数组

字符串类型 1.C语言风格字符串&#xff1a;char 变量名[] "字符串值" 1. char: 字符常量或者单个字符 单引号定义 &#xff1b;字符串常量用 双引号 定义 2. 输出直接用cout char str1[] "hello world"; cout << str1 << endl;2.C语言风格…

Linux环境下 通过V4L2读取视频+UDP发送图片文件

该图为整个项目的流程图 其中左边的流程为总流程&#xff0c;包括通过中断读取摄像头的帧数据&#xff0c;通过内存映射将内核态的数据映射到用户态&#xff0c;读取用户态的数据&#xff0c;采用循环发送图片数据。 右边是发送图片的流程图&#xff0c;将用户态的缓冲区的数…

780E编译底包教程

这里写目录标题 准备1 安装开发环境准备2 拉取编译工程源码 代码编译修改或者增加用户程序说明 准备 1 安装开发环境准备 需要用户自行安装好Xmake\vscode\git 环境教程传送门 2 拉取编译工程源码 注意, 需要两个库 主库 https://gitee.com/openLuat/LuatOS bsp库 https://…

LAMP架构中的网站搭建

前言&#xff1a;本次操作依赖于LAMP的环境已经配置完全&#xff0c;网站也是依赖于开发人员现有的网站包框架&#xff0c;实施在LAMP已搭建好的环境进行安装部署 1. 对mysql进行操作 ——创建数据库&#xff0c;并进行授权 1.创建数据库&#xff0c;并进行授权 mysql -u roo…

Redis6学习

Redis6 1. NoSQL数据库简介 1.1 技术发展 技术的分类 1、解决功能性的问题&#xff1a;Java、Jsp、RDBMS、Tomcat、HTML、Linux、JDBC、SVN。 2、解决扩展性的问题&#xff1a;Struts、Spring、SpringMVC、Hibernate、Mybatis。 3、解决性能的问题&#xff1a;NoSQL、Jav…

国产什么牌子的蓝牙耳机音质好?国产适合听音乐的蓝牙耳机推荐

现如今&#xff0c;蓝牙耳机的性能越来越多&#xff0c;一款蓝牙耳机不可能将各种性能做到极致。大家在选择蓝牙耳机时&#xff0c;无外乎从佩戴、音质、降噪、延迟等因素出发&#xff0c;那么&#xff0c;国产什么牌子的蓝牙耳机音质好&#xff1f;根据这个问题&#xff0c;我…

Docker更换国内镜像源

什么是Docker Docker 是一个开源的应用容器引擎&#xff0c;基于 Go 语言 并遵从 Apache2.0 协议开源。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。 容器是完全…

【三十天精通Vue 3】第十二天 Vue 3 的函数式组件详解(过滤器已废弃)

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: 三十天精通 Vue 3 文章目录 引言一、Vue3 中的函数式组件1.1 函数式组件的概念和特点1.2 函数…

DolphinDB 计算节点使用指南

导读 为了提升 DolphinDB 在高并发读写场景下的性能与稳定性&#xff0c;DolphinDB 在架构上引入了计算节点 &#xff08;compute node&#xff09; 。计算节点接管了数据节点的部分职能&#xff0c;负责响应客户端的请求并返回结果。在架构层面&#xff0c;将集群的计算与存储…

QT - 布局方式

Qt里面的头文件和类名是一致的&#xff0c;知道头文件就知道类名&#xff0c;反之亦然 Qt头文件是没有.h的&#xff0c;基本都是以大写的Q开头 后续的代码编写都在widget.h和widget.cpp 一. widget.h #ifndef WIDGET_H #define WIDGET_H #include <QWidget>/*QT系统自己使…

机器学习(六):基于高斯贝叶斯对面部皮肤进行预测分析

基于高斯贝叶斯对面部皮肤进行预测分析 作者&#xff1a;i阿极 作者简介&#xff1a;Python领域新星作者、多项比赛获奖者&#xff1a;博主个人首页 &#x1f60a;&#x1f60a;&#x1f60a;如果觉得文章不错或能帮助到你学习&#xff0c;可以点赞&#x1f44d;收藏&#x1f4…

ROS--机器人小车仿真rviz

URDF练习 需求描述: 创建一个四轮圆柱状机器人模型&#xff0c;机器人参数如下,底盘为圆柱状&#xff0c;半径 10cm&#xff0c;高 8cm&#xff0c;四轮由两个驱动轮和两个万向支撑轮组成&#xff0c;两个驱动轮半径为 3.25cm,轮胎宽度1.5cm&#xff0c;两个万向轮为球状&…

企业业财数字化建设-财务管理领域的产品设计

数字经济时代&#xff0c;企业数字化建设成为发展的必经之路&#xff0c;更多的企业搭建全渠道的营销&#xff0c;交易&#xff0c;履约和售后体系触达和服务用户&#xff0c;特别是面向小B和C端用户&#xff0c;交易变得更灵活多变。使得资源管控&#xff0c;稳定保守为底层基…

C语言的缺陷/错误处理问题探讨

最近遇到一个问题&#xff0c;先看看如下代码&#xff1a; uint8_t Bcd2Dec01(uint8_t bcd) {uint8_t one (bcd & 0x0F);uint8_t ten (bcd & 0xF0) >> 4;if ((one > 9) || (ten > 9)){printf("请输入合法的BCD码&#xff01;");return 0;}retu…

《C++内存管理》

本文主要介绍C内存管理的知识&#xff0c;主要包括new和delete&#xff0c;其实很简单&#xff0c;类比我们的C语言的内存管理malloc/free&#xff0c;就是在堆上申请内存的 小知识点&#xff1a; C构造对象的顺序&#xff1a;先构造全局&#xff0c;再构造局部静态对象&#x…

一些解决方案

文件异步下载方案 1 set QueryBussessType manually different type --> different resolving code、wherecondition 2. frontend request with the type 3. get excelHeader --> groovyUtil load from db 4. getData from db with pagination 5. saveData in an excel 6…