当前位置: 首页 > article >正文

Docker 环境下 MySQL 一主一从同步实战

Docker 环境下 MySQL 一主一从同步实战前言在实际开发与生产场景中MySQL 单节点往往无法满足高可用、高并发以及数据备份的需求。主从复制作为 MySQL 最经典的高可用方案能够实现读写分离、故障转移与数据冗余备份。本文将基于 Docker 容器化环境使用 MySQL 8.3.0 版本快速搭建一主一从架构全程通过自动化 Shell 脚本实现部署无需手动修改复杂配置文件可复现、易维护非常适合学习与测试环境使用。一、环境说明操作系统Windows WSL2容器引擎DockerMySQL 版本8.3.0主库端口3307从库端口3308root 密码123456复制账号repl / 123456二、主从复制原理简述主库Master开启二进制日志binlog所有数据变更都会记录到 binlog 中。为 IO 线程提供 binlog 读取权限。从库SlaveIO 线程连接主库请求并接收 binlog写入中继日志relay log。SQL 线程读取中继日志重放 SQL 语句实现数据同步。三、一键部署脚本为了简化部署流程避免手动配置出错编写自动化 Shell 脚本mysql_ms_deploy.sh。bash运行#!/bin/bash # MySQL 8.3.0 主从一键脚本 # 主库3307 从库3308 密码123456 # echo echo MySQL 8.3.0 Master-Slave Deploy echo Master: 3307 | Slave: 3308 echo Password: 123456 echo # 1. 清理旧容器 echo -e \n[1/6] 清理旧容器... docker rm -f mysql-master mysql-slave /dev/null 21 # 2. 启动主库 echo -e \n[2/6] 启动主库3307... docker run -d --name mysql-master \ -p 3307:3306 \ -e MYSQL_ROOT_PASSWORD123456 \ mysql:8.3.0 \ --server-id1 \ --log-binmysql-bin \ --binlog-formatROW # 3. 启动从库 echo -e \n[3/6] 启动从库3308... docker run -d --name mysql-slave \ -p 3308:3306 \ -e MYSQL_ROOT_PASSWORD123456 \ mysql:8.3.0 \ --server-id2 \ --relay-logrelay-bin # 4. 等待MySQL启动 echo -e \n[4/6] 等待MySQL启动 15秒... sleep 15 # 5. 创建同步账号 echo -e \n[5/6] 创建同步账号 repl... docker exec mysql-master mysql -uroot -p123456 -e CREATE USER repl% IDENTIFIED WITH mysql_native_password BY 123456; GRANT REPLICATION SLAVE ON *.* TO repl%; FLUSH PRIVILEGES; 2/dev/null # 6. 获取主库信息并配置从库 echo -e \n[6/6] 配置主从同步... file$(docker exec mysql-master mysql -uroot -p123456 -N -e SHOW MASTER STATUS; 2/dev/null | awk {print $1}) pos$(docker exec mysql-master mysql -uroot -p123456 -N -e SHOW MASTER STATUS; 2/dev/null | awk {print $2}) master_ip$(docker inspect -f {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}} mysql-master) docker exec mysql-slave mysql -uroot -p123456 -e STOP SLAVE; RESET SLAVE ALL; CHANGE MASTER TO MASTER_HOST$master_ip, MASTER_USERrepl, MASTER_PASSWORD123456, MASTER_LOG_FILE$file, MASTER_LOG_POS$pos; START SLAVE; 2/dev/null # 输出结果 echo -e \n echo ✅ 部署完成 echo 主库localhost:3307 root / 123456 echo 从库localhost:3308 root / 123456 echo -e \n echo 从库同步状态 docker exec mysql-slave mysql -uroot -p123456 -e SHOW SLAVE STATUS\G 2/dev/null | grep Slave_IO_Running\|Slave_SQL_Running echo -e \n 部署成功四、脚本执行步骤赋予脚本执行权限bash运行chmod x mysql_ms_deploy.sh运行脚本bash运行./mysql_ms_deploy.sh等待执行完成出现以下结果表示主从同步正常plaintextSlave_IO_Running: Yes Slave_SQL_Running: Yes五、主从同步测试主库写入数据bash运行docker exec mysql-master mysql -uroot -p123456 -e CREATE DATABASE testdb; USE testdb; CREATE TABLE user(id INT); INSERT INTO user VALUES(1);从库查询验证bash运行docker exec mysql-slave mysql -uroot -p123456 -e SELECT * FROM testdb.user;若能正常查询到数据说明主从复制搭建成功。六、常见问题与排错Slave_IO_Running: Connecting主从网络不通复制账号密码错误主库 binlog 未正常开启Slave_SQL_Running: No主从数据不一致从库执行 SQL 报错跳过事务可临时修复SET GLOBAL SQL_SLAVE_SKIP_COUNTER 1;Docker 镜像拉取失败更换镜像加速源执行docker system prune -a清理缓存项目配置演示七、总结通过 Docker 可以快速、干净地部署 MySQL 主从架构避免了传统安装方式的环境污染与复杂配置。本文提供的一键脚本自动完成容器创建与端口映射server-id、binlog、relay-log 配置复制账号创建从库自动指向主库状态自动检查整套方案可直接用于学习、测试与演示也可在此基础上扩展为 MGR、半同步复制、读写分离等更高级架构。

相关文章:

Docker 环境下 MySQL 一主一从同步实战

Docker 环境下 MySQL 一主一从同步实战前言在实际开发与生产场景中,MySQL 单节点往往无法满足高可用、高并发以及数据备份的需求。主从复制作为 MySQL 最经典的高可用方案,能够实现读写分离、故障转移与数据冗余备份。本文将基于 Docker 容器化环境&…...

MT5工具在内容创作中的应用:一键生成多个标题和开头,激发创作灵感

MT5工具在内容创作中的应用:一键生成多个标题和开头,激发创作灵感 1. 创作瓶颈的破局者:当灵感枯竭时 你有没有经历过这样的时刻?面对空白的文档,光标在闪烁,脑子里却一片空白。想写一篇爆款文章&#xf…...

别再拍脑袋做决策了!用Excel手把手教你搞定AHP层次分析法(附一致性检验模板)

Excel实战:用AHP层次分析法破解复杂决策难题 决策从来不是简单的二选一。当面临多个评价标准和备选方案时,我们常常陷入"拍脑袋"的困境。AHP(层次分析法)提供了一种结构化思维框架,而Excel则是每个人电脑中都…...

OCR + RPA 实战:如何高效处理票据、合同、图片中的非结构化数据

一、为什么非结构化数据这么难搞 企业里到处是这样的场景: • 财务收到一堆发票照片,需要录入系统做报销 • 法务翻找合同扫描件,想快速定位某个条款 • 运营收到用户上传的身份证、营业执照截图,要提取关键信息这些数据都以图片或…...

3分钟搞定JetBrains IDE试用期重置:终极免费解决方案

3分钟搞定JetBrains IDE试用期重置:终极免费解决方案 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 你是否遇到过这样的尴尬时刻:正在赶项目进度,JetBrains IDE突然弹出"…...

顶刊同款!中国地级市风灾风险与损失数据集(2000-2022)|灾害 / 环境 / 经济研究必备

还在找精细化、长时序、可量化的风灾研究数据?这套全国地级市层面的风灾风险与损失面板直接封神!含风险暴露、脆弱性、直接经济损失三大核心维度,生态、环境、区域经济与灾害治理研究闭眼冲~📊 数据核心速览数据来源&a…...

保姆级教程:在STM32CubeIDE上为STM32F103配置USART3的DMA收发(支持RS485硬件控制)

STM32F103实战:用CubeIDE实现USART3的DMA驱动RS485全双工通信 第一次用STM32CubeIDE配置DMA串口时,盯着那些晦涩的选项足足发呆了半小时——时钟树、DMA通道优先级、中断嵌套...这些概念对初学者来说就像一堵高墙。直到成功让STM32F103通过RS485收发数据…...

线上弹珠游戏到底讲究什么?开发难点有吗?

线上弹珠游戏的核心讲究很多人小时候都蹲在地上打过弹珠,那是童年最纯粹的快乐。现在把弹珠游戏搬到线上,到底要抓住什么东西才能让玩家买账?不是花里胡哨的特效,也不是复杂到看不懂的规则。核心是物理碰撞的真实感,这…...

别再死记硬背公式了!用Multisim仿真带你玩转74HC153数据选择器

用Multisim仿真74HC153:可视化数据选择器的实战指南 记得第一次接触数据选择器时,盯着密密麻麻的真值表和逻辑表达式,那种"每个字母都认识但连起来完全不懂"的挫败感至今难忘。直到在Multisim里亲手搭建电路、拨动开关看到LED亮灭的…...

ResNet + 全注意力机制(Fully Attention)改进方案

ResNet + 全注意力机制(Fully Attention)改进方案 一、为什么要引入全注意力? 传统的ResNet50虽然通过残差连接解决了深层网络的梯度消失问题,但其卷积核的感受野有限,且对所有通道和空间位置一视同仁。这导致了一个问题:网络无法动态聚焦于真正重要的特征。 在实际图…...

华为云凤凰商城项目实战:从代码托管到自动化构建的CI/CD流水线搭建

1. 代码托管:从零搭建凤凰商城的版本控制体系 第一次接触华为云CodeArts代码托管服务时,我就像发现新大陆的探险家。这个基于Git的托管平台不仅完美兼容Git所有功能,还针对企业级开发做了深度优化。就拿我们团队开发的凤凰商城项目来说&#…...

2026上海建筑资质办理不专业,工程安全怎保障?老板必看干货!

① 开篇痛点各位上海的建筑企业老板们,你们是否遇到过这样的困境:想接一个新项目,但苦于没有相应的建筑资质,无法顺利进行?又或者,资质已经办理,但总是觉得不够专业,担心工程安全得不…...

从理论到实践:经济订货批量模型(EOQ)在现代供应链管理中的应用与优化

1. EOQ模型的前世今生:从仓库管理员的小本本到智能算法 记得我刚入行供应链管理那会儿,第一次听说EOQ(经济订货批量)这个词,还以为是什么高深莫测的黑科技。后来才发现,这其实就是仓库管理员用了上百年的老…...

从理论图纸到仿真结果:手把手带你用CST微波工作室完整走通一个T型波导设计项目

从理论图纸到仿真结果:手把手带你用CST微波工作室完整走通一个T型波导设计项目 微波工程师的日常工作中,最令人兴奋的时刻莫过于将一张理论图纸转化为可验证的仿真结果。T型波导作为微波系统中常见的功率分配器件,其设计过程涵盖了建模、仿真…...

效果可视化进阶:用WebGL三维技术呈现丹青识画的特征空间

效果可视化进阶:用WebGL三维技术呈现丹青识画的特征空间 你有没有想过,AI“看”一幅画时,它脑子里到底在想什么?那些复杂的线条、色彩和构图,在它的世界里,是不是也像我们一样,能感受到梵高的热…...

生成式AI配置中心设计:为什么你的LLM微调参数总在上线后失效?——实时一致性校验协议深度解析

第一章:生成式AI应用配置中心设计 2026奇点智能技术大会(https://ml-summit.org) 现代生成式AI应用高度依赖动态、多环境、细粒度的配置管理——模型端点、提示模板、采样参数(temperature、top_p)、重试策略、敏感词过滤规则、合规性开关等…...

有损的描述——从Ω语言到物理现象计算机

前言 本文是《Ω语言的预言》的续篇。 上一篇文章从两组独立的已知事实出发,通过逻辑推演,预言了一种不基于分类的数学语言——Ω语言——的存在,并指出《合体计算机数学基础模型猜想》所预言的全新数学C,是Ω语言投影到人类认知…...

Phi-4-mini-reasoning快速上手:app.py核心逻辑与API接口扩展方法

Phi-4-mini-reasoning快速上手:app.py核心逻辑与API接口扩展方法 1. 项目概述 Phi-4-mini-reasoning是一款3.8B参数的轻量级开源模型,专为数学推理、逻辑推导和多步解题等强逻辑任务设计。该模型由Azure AI Foundry开发,主打"小参数、…...

GEO 优化技术原理与合规实践指南

摘要GEO(Geographical Optimization/Generative Engine Optimization)是面向地理位置与生成式引擎的内容优化技术,旨在通过规范的结构化数据、地域信号、语义匹配,提升内容在区域搜索与 AI 问答中的可信度与曝光效率。本文从技术原…...

5分钟快速上手OBS智能背景移除插件:免费实现专业虚拟背景的完整指南

5分钟快速上手OBS智能背景移除插件:免费实现专业虚拟背景的完整指南 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项目地…...

Python环境配置一体化方案:Phi-4-mini-reasoning指导安装与包管理

Python环境配置一体化方案:Phi-4-mini-reasoning指导安装与包管理 1. 为什么需要一体化Python环境配置 刚接触Python时,最让人头疼的就是环境配置。你可能遇到过这些问题:安装Python后pip不能用、包版本冲突导致程序跑不起来、不同项目需要…...

杭州小程序开发避坑指南:如何找到真正“性价比”高的技术伙伴?

在杭州这个被誉为“数字经济第一城”的地方,寻找一家小程序开发公司似乎并不困难。打开搜索引擎,满屏的“三天上线”、“模板低价”广告让人眼花缭乱。然而,作为经历过项目重构的技术负责人或产品经理,你一定深知其中的痛点&#…...

造相-Z-Image实战:RTX 4090显卡如何一键生成8K写实人像?

RTX 4090显卡实战:造相-Z-Image一键生成8K写实人像指南 1. 为什么选择造相-Z-Image引擎 当RTX 4090这样的顶级显卡遇到专业优化的文生图引擎,会产生怎样的化学反应?造相-Z-Image给出了令人惊艳的答案。这个专为RTX 4090深度优化的本地化方案…...

SiameseAOE中文-base惊艳效果:在法律文书摘要中抽取‘赔偿金额’‘责任认定’情感倾向

SiameseAOE中文-base惊艳效果:在法律文书摘要中抽取‘赔偿金额’‘责任认定’情感倾向 1. 模型能力概览 SiameseAOE通用属性观点抽取-中文-base是一个专门针对中文文本设计的智能信息抽取模型。它能够从复杂的法律文书中精准识别和提取关键信息,特别是…...

VSCode配置Claude Code

安装claude插件配置claude插件点击设置点击在settings.json中编辑添加以下内容 记得修改成你的api key"claudeCode.environmentVariables": [{"name": "ANTHROPIC_BASE_URL","value": "https://your-api-proxy.com"},{"…...

LFM2.5-1.2B-Thinking-GGUF商业落地:为政企客户提供离线部署版智能会议纪要生成系统

LFM2.5-1.2B-Thinking-GGUF商业落地:为政企客户提供离线部署版智能会议纪要生成系统 1. 平台核心能力介绍 LFM2.5-1.2B-Thinking-GGUF是Liquid AI专为低资源环境设计的轻量级文本生成模型。该解决方案采用内置GGUF模型文件和llama.cpp运行时,特别适合需…...

Intv_AI_MK11 快速集成指南:与Dify平台构建可视化AI智能体工作流

Intv_AI_MK11 快速集成指南:与Dify平台构建可视化AI智能体工作流 1. 引言:当专业模型遇上低代码平台 最近遇到不少开发者朋友都在问同一个问题:手上有不错的AI模型,但怎么快速把它变成可交互的智能应用?这正是我们今…...

GLM-OCR在网络安全中的应用:自动化识别验证码与敏感信息

GLM-OCR在网络安全中的应用:自动化识别验证码与敏感信息 最近和几个做安全测试的朋友聊天,他们都在抱怨一个事儿:现在很多系统的验证码越来越复杂,做自动化测试的时候,人工识别验证码成了效率瓶颈。有时候审计日志或者…...

Z-Image Atelier 在AIGC内容创作中的应用:自动化海报生成系统

Z-Image Atelier 在AIGC内容创作中的应用:自动化海报生成系统 电商运营小张最近有点头疼。公司每周要策划好几场线上活动,每场活动都需要配套的宣传海报。以前找设计师,一张海报从沟通到定稿,快则半天,慢则一两天。现…...

MySQL中事务、索引和数据库管理设计

1. 事务和索引 事务ACID原则特性英文通俗解释原子性Atomicity事务是最小单位,不可分割。要么全成功,要么全失败一致性Consistency执行前后数据总量不变(转账:A 扣钱 B 加钱 总金额不变)隔离性Isolation多个事务同时执…...