mysql_docker主从复制_实战_binlog混合模式_天座著
步骤1:拉取镜像
docker pull mariadb:latest
步骤2.1:创建两个文件夹用于放置挂载mysql的my.cnf
/tianzuomysqlconf/master
/tianzuomysqlconf/slave
| mkdir /tianzuomysqlconf cd /tianzuomysqlconf mkdir master mkdir slave |
步骤2.2:创建一份my.cnf到步骤2中的文件夹。
| #创建一个自定义的 my.cnf 文件:在本地主机上创建一个新的 my.cnf 文件,你可以使用任何文本编辑器进行编辑。确保按照 MariaDB 文档提供的配置选项进行修改 # 新的my.cnf文件内容可以为空。在MySQL中,my.cnf是配置文件,用于配置数据库服务器的各种参数和设置。如果你没有特定的需求或者不需要修改任何配置参数,那么新的my.cnf文件可以保持为空。在这种情况下,MySQL将使用默认的配置参数来启动和运行。但请注意,如果你需要自定义配置,确保将所需的配置项添加到my.cnf文件中,以便按照你的要求进行设置。 cd /tianzuomysqlconf/master touch my.cnf cp my.cnf /tianzuomysqlconf/slave |
步骤3:创建两个mysql容器,并使用/etc/mysql/conf.d/ 目录挂载my.cnf文件。
| #分号可一起执行。 docker run -p 3309:3306 --name tianzuo_mysql_test_master -d -e MARIADB_ROOT_PASSWORD=STZ1024 -v /tianzuomysqlconf/master/my.cnf:/etc/mysql/conf.d/my.cnf mariadb;docker run -p 3310:3306 --name tianzuo_mysql_test_slave -d -e MARIADB_ROOT_PASSWORD=STZ1024 -v /tianzuomysqlconf/slave/my.cnf:/etc/mysql/conf.d/my.cnf mariadb |
步骤3-error:如果过程中有操作失误,想要删除容器。
| docker rm -f tianzuo_mysql_test_master;docker rm -f tianzuo_mysql_test_slave |
步骤4:开始配置MySQL主从复制(binlog混合模式)
步骤4-1:配置主数据库(Master):
| 打开主数据库的配置文件my.cnf(/tianzuomysqlconf/master/my.cnf)。 vi /tianzuomysqlconf/master/my.cnf 按下键盘字母:i键 添加以下配置项: [mysqld] server-id = 1 log_bin = mysql-bin binlog_format = MIXED esc :wq 保存并关闭配置文件。 重启主数据库。 docker restart tianzuo_mysql_test_master |
步骤4-2:配置从数据库(Slave):
| 打开从数据库的配置文件my.cnf(/tianzuomysqlconf/slave/my.cnf)。 vi /tianzuomysqlconf/slave/my.cnf 按下键盘字母:i键 添加以下配置项: [mysqld] server-id = 2 relay_log = relay-log log_slave_updates = 1 保存并关闭配置文件。 重启从数据库。 docker restart tianzuo_mysql_test_slave |
步骤4-3:在主数据库中创建用于复制的账户
| 登录主数据库的命令行或图形化界面。 docker exec -it tianzuo_mysql_test_master bash mysql -h localhost -P 3306 -u root -p"STZ1024" 执行以下SQL语句: CREATE USER 'replication'@'%' IDENTIFIED BY 'STZ1024';GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%'; FLUSH PRIVILEGES; |
步骤4-4:获取主数据库的二进制日志位置
| 在主数据库的命令行或图形化界面执行以下SQL语句: SHOW MASTER STATUS; 记下输出结果中的File和Position字段的值,将其用于后续步骤。
|
步骤4-5:配置从数据库的复制信息
| 登录从数据库的命令行或图形化界面。 docker exec -it tianzuo_mysql_test_slave bash mysql -h localhost -P 3306 -u root -p"STZ1024" 执行以下SQL语句,将主数据库的信息配置到从数据库: CHANGE MASTER TO MASTER_HOST = '172.17.0.1', MASTER_PORT = 3309, MASTER_USER = 'replication', MASTER_PASSWORD = 'STZ1024', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 771; 备注:172.17.0.1是宿主机的ip,各位看官自行替换。 |
步骤4-6:启动从数据库的复制进程:
| 在从库中执行以下SQL语句: START SLAVE; |
步骤4-7:检查主从复制状态
| 在从数据库的命令行或图形化界面执行以下SQL语句: SHOW SLAVE STATUS\G; 检查输出结果中的Slave_IO_Running和Slave_SQL_Running字段是否都为"YES",表示主从复制已经成功建立。
Slave_IO_Running反映了复制进程中I/O线程的状态。当其值为"YES"时,表示I/O线程正在正常运行,能够从主数据库接收复制日志文件(binlog)。 Slave_SQL_Running反映了复制进程中SQL线程的状态。当其值为"YES"时,表示SQL线程正在正常运行,能够将接收到的复制日志应用到备份数据库。 |
步骤4-error:如果需要重新配置从数据的复制信息,先停止从数据库的复制进程:
| 在从库中执行以下SQL语句: STOP SLAVE; 再进行授权 CHANGE MASTER TO MASTER_HOST = '172.17.0.1', MASTER_PORT = 3309, MASTER_USER = 'replication', MASTER_PASSWORD = 'STZ1024', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS = 771; 再回到步骤4-6 START SLAVE; |
步骤5-验证:

步骤5-1 利用navicat建立两个连接;
步骤5-2 尝试在主库中创建一个库,看看从库会不会自动生成。


重新建立3310连接后,从库同步成功。速度贼快。至此验证成功。
相关文章:
mysql_docker主从复制_实战_binlog混合模式_天座著
步骤1:拉取镜像 docker pull mariadb:latest 步骤2.1:创建两个文件夹用于放置挂载mysql的my.cnf /tianzuomysqlconf/master /tianzuomysqlconf/slave mkdir /tianzuomysqlconf cd /tianzuomysqlconf mkdir master mkdir slave 步骤2.2:创…...
鸿蒙开发学习笔记1——真机运行hello world
问题背景 学习任何语言和框架的第一步,永远都是跑通熟悉的“hello world”,本文将介绍鸿蒙开发如何跑通“hello world”。 问题分析 一、构建第一个ArkTS应用(fa模型) 说明:请使用DevEco Studio V3.0.0.601 Beta1及…...
Java数组,简简单单信手沾来~
——数组,一组相同数据类型的数据 一.一维数组 1.数组的基本概念 1)数组用于存储多个同一数据类型的数据 2)数组是数据类型【引用类型】 3)数组的形式:数据类型 [] 4)数组的下标从0开始 5)数…...
认识SourceTree
一. SourceTree是什么 SourceTree是一款免费的Git和Mercurial版本控制系统,它可以帮助开发人员在一个友好的UI界面中管理代码,方便地进行版本控制和代码同步。支持创建、克隆、提交、push、pull 和合并等操作。 二. SourceTree的安装破解 1. 如果你还…...
python之列表推导式
列表推导式是一种简洁的方式来创建列表。它允许您通过在单个表达式中定义循环和条件逻辑,以一种更紧凑的方式生成新的列表。使用列表推导式可以使代码更简洁,易于阅读,并且通常比传统的迭代方法更快。 列表推导式的一般语法形式为:…...
selenium自动化测试之搭建测试环境
自动化测试环境: Python3.7Selenium3.141谷歌浏览器76.0/火狐浏览器 1、安装Python并配置环境变量。 下载并安装:配置环境变量:C:\Python37;C:\Python37\Scripts; 2、安装Pycharm开发工具。 下载地址: 注意下载:Co…...
模拟实现消息队列(以 RabbitMQ 为蓝本)
目录 1. 需求分析1.1 介绍一些核心概念核心概念1核心概念2 1.2 消息队列服务器(Broker Server)要提供的核心 API1.3 交换机类型1.3.1 类型介绍1.3.2 转发规则: 1.4 持久化1.5 关于网络通信1.5.1 客户端与服务器提供的对应方法1.5.2 客户端额外…...
WordPress更换域名后-后台无法进入,网站模版错乱,css失效,网页中图片不显示。完整解决方案(含宝塔设置)
我在实际解决问题时用到了 【简单暴力解决方案】的《方法一:修改wp-config.php》 和 【简单暴力-且特别粗暴-的解决方案】 更换域名时经常遇到的几个问题: 1、更换域名后,后台无法进入 2、更换域名后,网站模版错乱,css失效 3、更换域名后,网页中图片不显示 这是为什…...
无法正确识别车牌(Python、OpenCv、Tesseract)
我正在尝试识别车牌,但出现了错误,例如错误/未读取字符 以下是每个步骤的可视化: 从颜色阈值变形关闭获得遮罩 以绿色突出显示的车牌轮廓过滤器 将板轮廓粘贴到空白遮罩上 Tesseract OCR的预期结果 BP 1309 GD 但我得到的结果是 BP 1309…...
VSCODE[配置ssh免密远程登录]
配置ssh免密远程登录 本文摘录于:https://blog.csdn.net/qq_44571245/article/details/123031276只是做学习备份之用,绝无抄袭之意,有疑惑请联系本人! 这里要注意如下几个地方: 1.要进入.ssh目录创建文件: 2.是拷贝带"ssh-…...
Multi-object navigation in real environments using hybrid policies 论文阅读
论文信息 题目:Multi-object navigation in real environments using hybrid policies 作者:Assem Sadek, Guillaume Bono 来源:CVPR 时间:2023 Abstract 机器人技术中的导航问题通常是通过 SLAM 和规划的结合来解决的。 最近…...
初始多线程
目录 认识线程 线程是什么: 线程与进程的区别 Java中的线程和操作系统线程的关系 创建线程 继承Thread类 实现Runnable接口 其他变形 Thread类及其常见方法 Thread的常见构造方法 Thread类的几个常见属性 Thread类常用的方法 启动一个线程-start() 中断…...
论坛项目day3|开发社区首页
在典型的基于层次结构的软件架构中,特别是在使用MVC(模型-视图-控制器)设计模式的情况下,Controller、Service、DAO(数据访问对象)和Entity通常扮演着不同的角色,并且它们之间有清晰定义的关系。…...
Server - 文字转语音 (Text to Speech) 的在线服务 TTSMaker
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/132287193 TTSMaker 是一款免费的文本转语音工具,提供语音合成服务,支持多种语言,包括英语、法语、德语、西班…...
Python学习笔记_基础篇_数据类型之字符串
一.基本数据类型 整数:int 字符串:str(注:\t等于一个tab键) 布尔值: bool 列表:list 列表用[] 元祖:tuple 元祖用() 字典:dict 注:所有的数据类型都存在想对应…...
(二分查找) 11. 旋转数组的最小数字 ——【Leetcode每日一题】
❓剑指 Offer 11. 旋转数组的最小数字 难度:简单 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转…...
docker 制作tomcat镜像
需要下载tomcat安装包和jdk安装包,我这边下载的jdk版本分别为(jdk和tomcat版本需要对应上) apache-tomcat-9.0.78.tar.gzjdk-8u381-linux-x64.tar.gz创建一个readme.txt空文件 readme.txt创建一个Dockerfile文件 # centos系统作为底层 FROM …...
年之年的选择,组装版
组件:<!--* Author: liuyu liuyuxizhengtech.com* Date: 2023-02-01 16:57:27* LastEditors: wangping wangpingxizhengtech.com* LastEditTime: 2023-06-30 17:25:14* Description: 时间选择年 - 年 --> <template><div class"year-range-pick…...
英语词法——代词
代词是用来代替名词、起名词作用的短语、分句和句子的词。英语中代词根据其意义和作用可分为九类:人称代词、物主代词、反身代词、相互代词、指示代词、疑问代词、不定代词、关系代词和连接代词。 第一节 人称代词 一、人称代词的形式和用法 人称代词单数复数第一人称第二人…...
1475.商品折扣后的最终价格
文章目录 题目描述解题思路:方法一:通俗解法方法二:单调栈 leetcode原题链接 1475. 商品折扣后的最终价格 题目描述 给你一个数组 prices ,其中 prices[i] 是商店里第 i 件商品的价格。 商店里正在进行促销活动,如果你…...
智能检索新范式,让AIAgent自主决策,提升RAG效率100%!
市面上的 RAG 系统,不管叫什么名字,本质上只有两种做法: 第一种,一次性检索。把用户的 query 向量化,从语料库里捞出 Top-K 个文档片段,拼成一个大 prompt 塞给模型。GraphRAG、HippoRAG、LightRAG 都属于…...
浏览器 Profile 环境排查:Cookie、LocalStorage、网络出口与自动化任务配置清单
一、为什么浏览器环境经常“今天能用,明天失效”很多团队遇到登录状态丢失、页面配置异常、自动化任务失败时,会先怀疑网络、脚本或系统本身。但在实际项目里,问题经常不是单点故障,而是浏览器环境缺少稳定管理:对象常…...
3步解锁网易云音乐NCM加密:让音乐真正属于你
3步解锁网易云音乐NCM加密:让音乐真正属于你 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为下载的网易云音乐只能在特定客户端播放而烦恼吗?当你精心收藏的歌曲被NCM格式"锁"在单一平台时&a…...
SMUDebugTool终极指南:如何深度掌控AMD Ryzen处理器的隐藏性能
SMUDebugTool终极指南:如何深度掌控AMD Ryzen处理器的隐藏性能 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: ht…...
Windows文件夹共享
目标:同一局域网实现在一台计算机上共享文件夹,在另一台电脑访问一、电脑A 1.点击要共享的文件夹 -> 属性 -> 共享2.添加Everyone用户组3.控制面板中网络共享关闭密码保存,在访问时不用输入账号密码。二、电脑B 1.在文件资源管理器路径…...
CANoe诊断测试没CDD文件怎么办?手把手教你用Fault Memory窗口和CAPL脚本读取解析DTC故障码
CANoe诊断测试无CDD文件的实战解决方案:从Fault Memory到CAPL脚本全解析当CDD文件缺失或定义不清晰时,诊断测试工程师常常陷入困境。本文将深入探讨如何利用Fault Memory窗口的基础功能,并通过CAPL脚本实现更灵活、更强大的故障码读取与解析方…...
谷氨酸发酵过程的软测量建模【附模型】
✨ 长期致力于软测量、谷氨酸发酵、动力学模型、支持向量机、高斯过程、变量选择、异常状态研究工作,擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流,点击《获取方式》 (1)多阶段高斯…...
基于雷达与光敏传感器的低功耗智能窗防设备设计与实现
1. 项目概述:一个基于雷达与光敏的智能窗防设备几年前,我因为一次短暂的出差,家里空置了几天,回来后就一直琢磨着怎么给家里的窗户加点“动静”。市面上的智能安防摄像头固然好,但要么需要复杂的布线,要么云…...
风控系统如何全维度识别爬虫:IP、账号与行为的协同决策机制
1. 这不是“反爬失败”,而是风控系统在对你做全维度画像你写完一段 requests BeautifulSoup 的代码,本地跑通了,开开心心部署到服务器,结果第二天早上发现:所有请求返回 403,日志里全是空响应;…...
MeloTTS实战指南:解决多语言TTS部署中的核心挑战
MeloTTS实战指南:解决多语言TTS部署中的核心挑战 【免费下载链接】MeloTTS High-quality multi-lingual text-to-speech library by MyShell.ai. Support English, Spanish, French, Chinese, Japanese and Korean. 项目地址: https://gitcode.com/GitHub_Trendin…...


