Docker(九):MySQL主从复制搭建

一:master

1.1 /mydata/mysql-master/conf/my.conf

[mysqld]
#同一局域网需要唯一
server_id=101
# 不需要同步的数据库
binlog-ignore-db=mysql
# 开启二进制日志
log-bin=mall-mysql-bin
# 二进制日志使用内存大小
binlog_cache_size=1M
# 二进制日志格式
binlog_format=mixed
# 二进制日志清理时间,默认0不自动清理
expire_log_days=7
# 跳过主从复制中遇到的所有错误或者指定类型的错误,避免slave短复制中断
# 1062指主键重复
slave_skip_errors=1062

1.2 启动MySQL Master

docker run -p 3307:3306--name mysql-master-v /mydata/mysql-master/log:/var/log/mysql-v /mydata/mysql-master/data:/var/lib/mysql-v /mydata/mysql-master/conf:/etc/mysql-e MYSQL_ROOT_PASSWORD=123456-d mysql:5.7# 查看启动是否成功
docker ps

1.3 创建用户和授权

docker exec -it mysql-master /bin/bashcreate user 'slave'@'%' identified by '123456';
grant replication slave, replication client on *.* to 'slave'@'%';

二:salve

2.1 /mydata/mysql-slave/conf/my.conf

[mysqld]
#同一局域网需要唯一
server_id=102
# 不需要同步的数据库
binlog-ignore-db=mysql
# 开启二进制日志
log-bin=mall-mysql-slave1-bin
# 二进制日志使用内存大小
binlog_cache_size=1M
# 二进制日志格式
binlog_format=mixed
# 二进制日志清理时间,默认0不自动清理
expire_log_days=7
# 跳过主从复制中遇到的所有错误或者指定类型的错误,避免slave短复制中断
# 1062指主键重复
slave_skip_errors=1062# 配置中继日志
relay_log=mall-mysql-relay-bin
# slave将复制事件写进自己的二进制日志
log_slave_updates=1
# 只读权限
read_only=1

2.2 启动MySQL slave

docker run -p 3308:3306--name mysql-slave-v /mydata/mysql-slave/log:/var/log/mysql-v /mydata/mysql-slave/data:/var/lib/mysql-v /mydata/mysql-slave/conf:/etc/mysql-e MYSQL_ROOT_PASSWORD=123456-d mysql:5.7docker ps

2.3 show master status

docker exec -it mysql-master /bin/bash
mysql -u root -p# 查看binlog的File、Position
mysql> show master status;

2.4 主从配置

从服务器配置主从复制。

docker exec -it mysql-slave /bin/bash
mysql -u root -pmysql> change master to master_host='宿主机IP', master_user='slave', master_password='123456', master_port=3307, master_log_file='mall-mysql-bin.000001', master_log_pos=617, master_connect_retry=30;mysql> start slave;# 查看主从同步状态,查看Slave_IO_Running: Yes 表示开始同步
mysql> show slave status \G;

2.5 test

在master上操作数据库,然后去从数据库中确认是否同步。

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

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

相关文章

西夏区第三届中华诗词大会活动方案

活动流程/比赛规则 1.【13:30-14:10】 参赛选手签到;领取参赛号码牌;分组抽签;拍摄赛前感言,集体祝福口号; 2.【14:10-14:25】 熟悉设备、答题环节、题目设置等,走台演练 3.【14:25-14:30】 播放暖场视频…

程序员如何在副业上突破时间片限制

前面我们讨论了如何优化时间片的使用,敏锐的读者可能已经意识到,实际上有方法可以突破时间片的限制。下面我们将具体探讨如何实现这一点。 倍增 第一个策略称为“倍增”,即成倍增加可用的时间片数量。但这需要在一个前提下进行:不…

怎么配置python

右键点击“计算机”,选择“属性”。 在左侧栏找到“高级系统设置”。 点击“环境变量”。 在系统变量中,双击“Path”。 在字符串的末尾,加一个分号; 然后再输入你安装python的路径,如图所示: 点击“确定”&#xff0…

logisim 图解超前进位加法器原理解释

鄙人是视频作者,文件在视频简介的网盘链接。 找规律图解超前进位加法器与原理解释_哔哩哔哩_bilibili 一句话就是“把能导致进位到这个位置的情况全都穷举一遍。” 穷举情况看图中算式。 视频讲解比较啰嗦。

C++修炼之路之继承<一>隐藏,赋值转换规则,继承关系

目录 前言 一:继承的概念和定义 1.概念 2.继承的定义 1.定义格式 2.继承关系和访问限定符 3.继承基类成员访问方式的变化 二:基类和派生类对象赋值转换 规则 三:继承中的作用域 规则 经典举例 经典例题--区分函数重载和隐藏…

PyQt介绍——QStackedWidget堆栈组件的介绍使用

QStackedWidget是一个堆栈窗口控件,用于管理多个堆叠的子部件。它只显示当前选中的子部件,而隐藏其余的子部件。 例子: ControlWidget窗口中,创建QStackedWidget,分别添加两个组件,为Test1Widget和Test2W…

解决方案:Pandas如何用np.where将值分成两类,及处理异常值更新数据

文章目录 一、现象二、解决方案 一、现象 用SQL将值分成两类,就是使用case when,来进行处理。 我平常用SQL处理数据这方面比较多,但用Pandas处理数据这方面比较少,所以一时犯了难,百度一下解决了,鉴于此&a…

商务品牌解决方案企业网站模板 Bootstrap5

目录 一.前言 二.展示 三.下载链接 一.前言 这个网站包含以下内容: 导航栏:主页(Home)、关于(About)、服务(Services)、博客(Blog)等页面链接。主页部分…

非我族类,其心必异?

“非我族类,其心必异”出自《左传》,意思是:不是我们同族的人,必定不与我们同一条心。 看起来很有道理,即使是投降、投靠的异族人,甚至被自己本族人深深伤害而怀有仇恨的人,也未必会完全背叛他…

thinkphp 框架封装curl请求

tp6 或者 tp8框架 在框架的app/common.php 文件里加一些方法就可以 app\common.php 在这个文件里加 以下代码 就可以实现基于 curl的请求方法 (记得要开启 php的curl扩展) 查看方法 cmd里输入 php -m if (!function_exists(get)) {/*** 发送get请求* param string $url 请求…

Winfrom —— GDI画板

定义绘制对象 Graphics g; 起始点坐标 Point start; 画笔颜色 Color c1 Color.Black; 是否开始绘制 当flagtrue开始绘制,结束绘 private void Form1_MouseDown(object sender, MouseEventArgs e) {if (e.Button MouseButtons.Left) //点击了鼠标左键{start …

excel表格怎么设置密码?excel文件加密的两个方法

一、加密码的原理​ Excel加密码的原理主要基于加密算法和密钥管理。当用户为Excel文件或工作表设置密码时,Excel会采用一种加密算法对文件或工作表进行加密处理。这种加密算法通常是对称加密算法,如AES(高级加密标准)或DES(数据加密标准)。 二&#x…

【STM32项目】基于STM32与物联网融合效果下智能家居设计(完整工程资料源码)

基于STM32与物联网融合效果下智能家居设计演示效果 智能家居 前言: 基于STM32与物联网融合效果的智能家居设计,正成为现代家庭生活中不可或缺的一部分。这一设计融合了嵌入式系统、网络通信、传感器技术等多领域知识,旨在实现家居环境的智能化和自动化控制,为居民提供更加便…

数据结构—单链表

1、链表的概念及结构 1.1链表的概念 链表是一种物理存储结构上非连续、非顺序的存储结构,但在逻辑上确是连续、顺序的,而数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 1.2链表的结构 如下图: 逻辑上的链表,pList是指…

中断的设备树修改及上机实验(按键驱动)流程

写在前面的话:对于 GPIO 按键,我们并不需要去写驱动程序,使用内核自带的驱动程序 drivers/input/keyboard/gpio_keys.c 就可以,然后你需要做的只是修改设备树指定引脚及键值。 根据驱动文件中的platform_driver中的.of_match_tabl…

gemini国内能用吗

gemini国内能用吗 虽然 Gemini 的具体功能和性能还未完全公开,但基于 Google 在 AI 领域的强大背景和技术实力,已经火出圈了,很多小伙伴已经迫不及待想了解一下它有什么优势以及如何快速使用上 首先我们来讲一下gemini的优势 多模态能力&a…

Python之Excel公式与注释处理秘籍

在日常工作中,我们经常需要处理Excel表格,无论是读取数据、编辑公式还是添加注释。Python中的xlrd和xlwt库就是我们的得力助手。今天,我们就来一起探索如何使用这两个库优雅地应对带有公式和注释的Excel文件。 一、xlrd:读取Exce…

Springboot配置文件(application.yml)的加载顺序

spring boot 启动会扫描一下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件 file…/config/ file…/ classpath:/config classpath:/ 以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会…

C++-命名空间

C 命名空间是一种用于组织代码的机制,可以帮助避免命名冲突,提高代码的可读性和可维护性。命名空间将代码分组到逻辑单元中,允许在不同的代码单元中使用相同的名称而不会产生冲突。 命名空间通过将代码放置在一个命名空间内部来实现。在 C 中…

边缘计算、联邦学习、语义通信、知识蒸馏等,这些在科研方面有什么联系?

在科研领域中,边缘计算、联邦学习、语义通信和知识蒸馏等概念之间存在一定的联系和交叉点。这些概念通常在人工智能、机器学习、计算机视觉等领域中被广泛讨论和应用。 1. **边缘计算**:边缘计算是一种分布式计算架构,旨在将数据处理和存储功…