Docker mysql主从同步

1. 在主节点注册一个账号,用于子节点访问主节点

#mysql 1主2从,先创建主节点 ,注意 \ 后面不要带空格

docker run --name mysql-m \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql/conf.d \
-v /usr/local/mysql/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-p 3306:3306 \
-d mysql:5.7

#开机自启

docker update mysql-m --restart=always

2. 开启二进制日志(mysql8 默认开启,我的是mysql5.7需要手动开启) 

在挂载配置目录上创建一个配置文件 my.cnf

[mysqld]
# 随机数
server-id=1
# 日志格式化
binlog_format=STATEMENT
# 开启binlog
log-bin=/var/lib/mysql/mysql-bin

#修改完配置文件重启生效

docker restart mysql-m

3. 在主服务器为从服务器开通1个访问账号salve01

create user 'slave01'@'%';

# 为账号设置一个密码为'root'
alter user 'slave01'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

# 授予该账号可以复制主节点的所有库与所有表的权限(*.*)
grant REPLICATION SLAVE ON *.* TO 'slave01'@'%';

# 刷新权限
 flush PRIVILEGES;

# 进入mysql容器,登录mql 执行

show master status;

注意!  里面的信息随着master 数据修改而不断变化,后面配置主从关系时,一定要让master停止写操作,实际工作需要锁库(忽略。自己百度),因为我是自己测试环境,自己玩,没有写操作  binlog就不会发生变化

1.记住/复制/截图/主节点的binlog文件所在位置!后面从节点要读它   (可能会变动)

2.记住/复制/截图/主节点的binlog文件所在位置!后面从节点要读它   (可能会变动)

3.记住/复制/截图/主节点的binlog文件所在位置!后面从节点要读它   (可能会变动)

mysql-bin.000002   154

3. 准备2个从节点,注意 \ 后面不要带空格,根创建主节点一样的

sudo docker run --name mysql-s1 \
-v /usr/local/mysql-s1/data:/var/lib/mysql \
-v /usr/local/mysql-s1/conf:/etc/mysql/conf.d \
-v /usr/local/mysql-s1/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-p 3307:3306 \
-d mysql:5.7


sudo docker run --name mysql-s2 \
-v /usr/local/mysql-s2/data:/var/lib/mysql \
-v /usr/local/mysql-s2/conf:/etc/mysql/conf.d \
-v /usr/local/mysql-s2/log:/var/log/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-p 3308:3306 \
-d mysql:5.7

#开机自启

docker update mysql-s1 --restart=always

docker update mysql-s2 --restart=always

!!!!!!!server-id 随意就是3个节点不能相同

sql-s2/my.cnf :

[mysqld]
server-id=2 

sql-s2/my.cnf : 

[mysqld]
server-id=3 

 docker restart mysql-s1

 docker restart mysql-s2

# 两个从节点再分别执行一下,密码校验方式根主节点一样的(特别是 mysql8+

alter user 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

 4. 配置主从关系,在从节点s1、s2 执行

# 红色是主节点的binlog位置,(记住/复制/截图/主节点的binlog文件所在位置!)

CHANGE MASTER TO
MASTER_HOST='192.168.208.131',MASTER_PORT=3306,
MASTER_USER='slave01',MASTER_PASSWORD='root',
MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=154

5. 从节点开始连接主节点同步数据

START SLAVE;

SHOW SLAVE STATUS\G

踩坑!!!!!原因是我删除了主库中从库没有的数据库demo

stop slave;

set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;

start slave;

show slave status\G

回过头再看看主节点的binlog变化

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STK中的光照计算模型

本文简要阐述STK中光照计算的模型。 在航天任务中,通常需要分析地面站、飞行器在一定时间内的光照情况,具体包括: 地面站处在光照区和阴影区的具体时间范围;考虑地形遮挡后,地面站的光照区和阴影区的变化情况&#x…

实战+代码!Selenium + Phantom JS爬取天天基金数据

功能: 通过程序实现从基金列表页,获取指定页数内所有基金的近一周收益率以及每支基金的详情页链接。再进入每支基金的详情页获取其余的基金信息,将所有获取到的基金详细信息按近6月收益率倒序排列写入一个Excel表格。 思路: 1.…

物联网设计竞赛_5_Jetson Nano连接摄像头解决运行卡顿问题

我在命令行用camorama命令打开摄像头的时候发现摄像头非常流畅 当我用python的cv2库打开摄像头的时候发现摄像头显示图片异常卡顿,在网上多方寻觅无果后,经过偶然尝试,我发现了卡顿原来是视频帧率问题 淘宝官方资料看我的摄像头只有30fps, …

Gone框架介绍17 - 创建一个可运行在生产环境的Web项目

gone是可以高效开发Web服务的Golang依赖注入框架 github地址:https://github.com/gone-io/gone 文档原地址:https://goner.fun/zh/guide/auto-gen-priest.html 请帮忙在github上点个 ⭐️吧,这对我很重要 ;万分感谢!&a…

练习队列的相关操作:循环队列

1. 思路解析 循环队列就是在只有有限的空间时使用队列实现循环存储数据&#xff0c;有双向链表和数组两种选择&#xff0c;这里我们使用数组实现循环队列&#xff08;因为链表我不会 >-<&#xff09; 2. 相关函数及其实现 2.1 判空与判满 判空&#xff1a;直接返回头尾…

景源畅信数字:做抖音切片的方法分享?

一提起抖音切片&#xff0c;很多人可能会想到那些让人眼前一亮的短视频。它们通常短小精悍&#xff0c;内容丰富多彩&#xff0c;能够迅速吸引观众的注意力。但是&#xff0c;如何制作出这样的切片视频呢?这就是我们今天要探讨的问题。 一、选材与剪辑 制作抖音切片&#xff0…

每日一日 kotori和气球

kotori和气球 (nowcoder.com) 题目描述&#xff0c;就是只要相邻的气球不相同即可&#xff0c; 解题思路 使用高中的排列组合&#xff1a;第一个位置 可以填n种情况 其次后推不可与前一个相同所以可以 填n -1中情况&#xff0c;结果相乘即可 可以使用bigInteger实现 或者说…

记录计全支付切换到RabbitMQ时启动报错的问题

记录计全支付切换到RabbitMQ时启动报错的问题 首先在application.yml中切换到RabbitMQ配置安装RabbitMQ、Erlang、延时插件 rabbitmq_delayed_message_exchange&#xff0c;延迟插件必装 首先在application.yml中切换到RabbitMQ配置 # 第一处rabbitmq:addresses: 127.0.0.1:56…

微信视频号开店需要多少钱?2024年最新入驻条件,商家必看!

哈喽~我是电商月月 视频号小店逐渐走入大众视野&#xff0c;观众多&#xff0c;但里面的商家却很少&#xff0c;很多想创业做电商的朋友&#xff0c;就把目光锁定到了视频号平台&#xff0c;那现在视频号小店的入驻费用肯定是新手&#xff0c;最关心的事情了&#xff01; 今天…

javaEE进阶——SpringBoot与SpringMVC第一讲

文章目录 什么是springMVCSpringMVC什么是模型、视图、控制器MVC和SpringMVC的关系SpringMVC的使用第一个SpringMVC程序RestController什么是注解 那么RestController到底是干嘛的呢&#xff1f;RequestMapping 如何接收来自请求中的querystryingRequestParamRequestMapping(&q…

Java入门基础学习笔记18——赋值运算符

赋值运算符&#xff1a; 就是“”&#xff0c;就是给变量赋值的&#xff0c;从右边往左边看。 int a 10; // 把数据赋值给左边的变量a存储。 扩展赋值运算符&#xff1a; 注意&#xff1a;扩展的赋值运算符隐含了强制类型转换。 package cn.ensource.operator;public class…

Linux 第三十四章

&#x1f436;博主主页&#xff1a;ᰔᩚ. 一怀明月ꦿ ❤️‍&#x1f525;专栏系列&#xff1a;线性代数&#xff0c;C初学者入门训练&#xff0c;题解C&#xff0c;C的使用文章&#xff0c;「初学」C&#xff0c;linux &#x1f525;座右铭&#xff1a;“不要等到什么都没有了…

svn批量解锁

问题 svn对文件进行checkout之后&#xff0c;先进行lock&#xff0c;之后再去更改&#xff0c;最后进行Commit操作&#xff1b; 上述为我们通过svn管理代码的正常方式&#xff0c;但总会有其他现象发生&#xff1b; 如果我们非正常操作&#xff0c;批量锁所有的svn文件&#x…

中国农业大学:学硕11408复试线上涨40分,今年还会持续涨吗?中国农业大学计算机考研考情分析!

中国农业大学&#xff08;China Agricultural University&#xff09;&#xff0c;简称“中国农大”&#xff0c;坐落于中国首都北京&#xff0c;由中华人民共和国教育部直属&#xff0c;中央直管副部级建制&#xff0c;水利部、农业部和北京市共建&#xff0c;位列国家“双一流…

串,数组和广义表

2.1.求next和nextval的实现 代码&#xff1a; int next_one(char *str, int len) {int result 1;if(len 1 || len 0) return len;for (size_t i 1; i < len; i){ if(compare(str, strlen-i, i)) {result i1;//break;}}return result; }int next(char *str, int *…

【校园生活小程序_超详细部署】

校园生活小程序 1 完整小程序源码2 运行环境3 初次运行3.1 启动后端程序3.1.1 导入项目&#xff0c;找到项目的pom.xml文件&#xff0c;点击ok进行打开。3.1.2 创建数据库并插入内容 3.1.3 配置项目结构信息3.1.4 配置Tomcat服务器3.1.5 正式启动后端项目3.1.6出现BUG3.1.7 解决…

小程序框架是智能融媒体平台构建的最佳线路

过去5年&#xff0c;媒体行业一直都在进行着信息化建设向融媒体平台建设的转变。一些融媒体的建设演变总结如下&#xff1a; 新闻终端的端侧内容矩阵建设&#xff0c;如App新闻端&#xff0c;社交平台上的官方媒体等新闻本地生活双旗舰客户端&#xff0c;兼顾主流媒体核心宣传…

【密评】 | 商用密码应用安全性评估从业人员考核题库(09)

Hill密码是重要古典密码之一&#xff0c;其加密的核心思想的是&#xff08;&#xff09;。 A.线性变换 B.非线性变换 C.循环移位 D.移位 著名的Kerckhoff原则是指&#xff08;&#xff09;。 A.系统的保密性不但依赖于对加密体制或算法的保密&#xff0c;而且依赖于密钥 B.系统…

深入 Go 语言:使用 math/rand 包实现高效随机数生成

深入 Go 语言&#xff1a;使用 math/rand 包实现高效随机数生成 介绍math/rand 包的核心功能设计哲学应用场景 基础使用方法初始化和种子设置设置种子创建私有随机数生成器 基础函数详解生成整数生成特定范围的整数生成浮点数随机置乱数组 进阶技巧随机数的统计属性生成正态分布…

第83天: 代码审计-PHP 项目RCE 安全调试追踪代码执行命令执行

案例一&#xff1a;CNVD拿1day-RCE命令执行-百家CMS 这里用代码审计系统搜索system&#xff0c;可以利用的是第一种 打开看细节 查找函数引用 查找$_file第一次出现的地方 这个时候就明白了&#xff0c;必须上传文件&#xff0c;然后利用文件名&#xff0c;去执行system命令 …