docker学习(七、搭建mysql8.2主从)
一、主库搭建
1.构建主库镜像
# 运行mysql镜像,配置端口3307为主库
docker run -p 3307:3306 --name mysql-master --privileged=true -v /mydata/mysql-master/log:/var/log/mysql -v /mydata/mysql-master/data:/var/lib/mysql -v /mydata/mysql-master/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
# 查看是否运行成功
docker ps -a
2.配置文件
# 进入配置文件
cd /mydata/mysql-master/conf
# 创建my.cnf文件并写入配置
sudo touch my.cnf
sudo chmod 777 my.cnf
vim my.cnf
配置内容如下:
[mysqld]
# 同一局域网中唯一
server_id=1
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
binlog-ignore-db=sys
## 开启二进制日志功能
log-bin=on
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,不自动清理。
binlog_expire_logs_seconds=604800
3.重启主库
# 重启容器
docker restart mysql-master
# 确认重启成功
docker ps -a
4.进入数据库配置同步用户
# 进入容器
docker exec -it mysql-master /bin/bash
# 登录数据库
mysql -uroot -proot
# 创建同步用户,给从库同步数据使用
CREATE USER 'slave'@'%' IDENTIFIED mysql_native_password BY '123456';
# 给用户授权
GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'slave'@'%';

二、从库搭建
1.启动从库容器
# 运行mysql镜像,配置端口3308为从库
docker run -p 3308:3306 --name mysql-slave --privileged=true -v /mydata/mysql-slave/log:/var/log/mysql -v /mydata/mysql-slave/data:/var/lib/mysql -v /mydata/mysql-slave/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
# 查看是否运行成功
docker ps -a
2.配置文件
# 进入配置文件
cd /mydata/mysql-slave/conf
# 创建my.cnf文件并写入配置
sudo touch my.cnf
sudo chmod 777 my.cnf
vim my.cnf
配置内容如下:
[mysqld]
# 同一局域网中唯一
server_id=2
## 指定不需要同步的数据库名称
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema
binlog-ignore-db=sys
## 开启二进制日志功能
log-bin=on
## 设置二进制日志使用内存大小(事务)
binlog_cache_size=1M
## 设置使用的二进制日志格式(mixed,statement,row)
binlog_format=mixed
## 二进制日志过期清理时间。默认值为0,不自动清理。
binlog_expire_logs_seconds=604800
## relay_log配置中继日志
relay_log=mall-mysql-relay-bin
## log_slave_updates表示slave将复制事件写进自己的二进制日志
log_slave_updates=1
## slave设置为只读(具有super权限的用户除外)
read_only=1
3.重启主库
# 重启容器
docker restart mysql-slave
# 确认重启成功
docker ps -a
三、查看主从同步状态
1.进入到主库
docker exec -it mysql-master /bin/bash
mysql -uroot -proot
show master status;
2.进入到从库,配置主从复制
change master to master_host='172.27.64.169',master_user='slave',master_password='123456',master_port=3307,master_log_file='binlog.000008',master_log_pos=1301,master_connect_retry=30;
- master_host='主库ip地址'
- master_user='主库给从库用的用户名'
- master_password='对应的密码',master_port=主库端口号
- master_log_file='指定从库要复制数据的日志文件,通过查看主库的状态,获取File参数'
- master_log_pos=指定从库要复制数据的起始位置,通过查看主库的状态,获取Position参数
- master_connect_retry=连接失败重试的时间间隔,单位秒
most_host:
linux可以通过ifconfig找到正确的ip;
windows可以通过ipconfig找到正确的ip;

3.在从库中查看主从同步状态
show slave status \G;

4.在从库中开启同步
# 开启从库同步
start slave;
# 再次查看状态,确认上面的NO NO变成Yes
show slave status \G;

5.自行测试吧
主库创建表及数据,查看从库是否同步成功

完结~
这里我遇到了从库配置主从复制的时候一直connecting的问题,下一章介绍解决全过程!
相关文章:
docker学习(七、搭建mysql8.2主从)
一、主库搭建 1.构建主库镜像 # 运行mysql镜像,配置端口3307为主库 docker run -p 3307:3306 --name mysql-master --privilegedtrue -v /mydata/mysql-master/log:/var/log/mysql -v /mydata/mysql-master/data:/var/lib/mysql -v /mydata/mysql-master/conf:/etc…...
消费升级:无人零售的崛起与优势
消费升级:无人零售的崛起与优势 随着人们生活水平的提高,消费内容正在从生存型消费转向以精神体验和享乐为主的发展型消费。社会居民的消费结构不断变迁,明显呈现消费升级趋势。个性化和多元化消费势头正在崛起,特别是无人零售的自…...
【开题报告】基于SpringBoot的煤炭企业安全宣传学习平台的设计与实现
1.选题背景 煤炭企业作为我国能源行业的重要组成部分,承担着国民经济的支撑和推动作用。然而,煤炭生产过程中存在较高的安全风险,煤矿事故频发,给人员生命财产安全带来严重威胁,也给社会稳定和经济发展带来不利影响。…...
机器连接和工业边缘计算
软件应用和IT创新是制造业投资的主要驱动力。解决方案架构应围绕特定标准进行整合,并采用架构蓝图和最佳实践来满足最终用户的需求。此外,边缘计算(Edge Computing)也将在制造业中加速部署。 边缘计算是制造业的下一个变革驱动力。…...
java系列-LinkedHashMap
1.插入新节点时,会将该节点加到链表尾部 public class LinkedHashMap<K,V> extends HashMap<K,V> implements Map<K,V>{/*** The head (eldest) of the doubly linked list.*/transient LinkedHashMapEntry<K,V> head;/*** The tail (young…...
【linux】查看CPU和内存信息
之前咱们一起学习了查看内存的和CPU的命令。 mpstat : 【linux】 mpstat 使用 uptime:【Linux】 uptime命令使用 CPU的使用率:【linux】查看CPU的使用率 nmon :【linux】nmon 工具使用 htop :【linux】htop 命令…...
【产品经理】产品专业化提升路径
产品专业化就是上山寻路,梳理一套作为产品经理的工作方法。本文作者从设计方法、三基座、专业强化、优秀产品拆解、零代码这五个方面,对产品经理的产品专业化进行了总结归纳,一起来看一下吧。 产品专业化就是上山寻路,梳理一套作为…...
Ubuntu(WSL)卸载与安装指定版本的 openssl
卸载 openssl 1)查找并删除 openssl 关联的目录与文件 whereis opensslwhich opensslrm -rf /a/b/c/ // 使用 rm 命令删除所有 openssl 相关目录 2)删除软件安装包 apt-get purge openssl 3)删除配置文件 rm -rf /etc/ssl 安装 ope…...
leetcode1115. 交替打印 FooBar
题目 1115. 交替打印 FooBar 给你一个类: class FooBar {public void foo() {for (int i 0; i < n; i) {print("foo");}}public void bar() {for (int i 0; i < n; i) {print("bar");}} }两个不同的线程将会共用一个 FooBar 实例&am…...
qt有哪些常用控件
Qt 是一个跨平台的应用程序开发框架,提供了许多不同类型的控件来构建用户界面。以下是一些常见的 Qt 控件: 按钮(Button):用于执行操作或触发事件。文本框(TextBox):用于输入和显示文…...
docker 手工redis7.x cluster
IP端口192.168.0.816379/6380192.168.0.826379/6380192.168.0.1146379/6380 mdkir /data/{6379,6380}cat <<END> /data/6379.conf # 端口号 port 6379# 设置客户端连接后进行任何其他指定前需要使用的密码 #requirepass 123456 ## 当master服务设置了密码保护时(用re…...
【华为OD题库-082】TLV解析II-Java
题目 两端通过TLVQ格式的报文来通信,现在收到对端的一个TLV格式的消息包,要求生成匹配后的(tag,length,valueOffset)列表。具体要求如下: (1)消息包中多组tag、length、value紧密排列,其中tag,length各占1字节(uint8),value所占字节数等于len…...
Memcached学习
一、概念 Memcached是一个开源的,高性能的内存缓存软件,从名称上看Mem就是内存,二cache是缓存。作用通过在事先规划好的内存空间中临时缓存数据库中的各类数据,以达到减少业务对数据库的直接高并发访问,从而达到提升数…...
2024最新金三银四软件测试面试题
一直以来大大小小参与过不少面试,遇到过不少坑,但是没来的及好好总结汇总下。现在把之前遇到的问题汇总下,希望以后自己能加深印象。 1、appium 怎么定位toast弹框 appium1.6以后回答需要升级u2进行定位。 2、什么是事务,知道事…...
微信小程序动态加载图表[echart]
1.引入Echarts (1)将ec-canvas文件拷贝下来放到你自己的项目中: (2)在你需要使用Echarts的页面的json文件中引入Echarts "usingComponents": {"ec-canvas": "../utils/ec-canvas/ec-canva…...
《opencv实用探索·十八》Camshift进行目标追踪流程
CamShift(Continuously Adaptive Mean Shift)是一种用于目标跟踪的方法,它是均值漂移(Mean Shift)的扩展,支持对目标的旋转跟踪,能够对目标的大小和形状进行自适应调整。 cv::CamShift和cv::me…...
MAP: Multimodal Uncertainty-Aware Vision-Language Pre-training Model
问题 多模态语义理解通常需要处理不确定性,这意味着获得的消息往往涉及多个目标。这种不确定性对我们的解释来说是有问题的,包括模式间和模式内的不确定性。人们很少研究这种不确定性的建模,特别是在未标记数据集的预训练和特定任务下游数据…...
【SpringCache】快速入门 通俗易懂
1. 介绍 Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。 Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如: EHCache Caffeine Redis(常用…...
GeoTools学习笔记
Feature要素: 例子:Csv2Shape.java 创建要素,先创建FeatureType,再创建Feature 根据FeatureCollection,可以创建shapefile https://docs.geotools.org/latest/userguide/library/main/data.html API详解:…...
短剧规模达到了百亿元,短剧分销成为短剧新模式
我国短剧市场规模直接突破了三百多亿元,目前已经是互联网的一大创业风口! 一、短剧特点 在当下快节奏的生活中,短剧具有的快节奏、剧情紧凑的特点,符合大众对影视的需求。目前我国的短剧题材主要是言情、总裁、赘婿等࿰…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表
1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...
