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 件商品的价格。 商店里正在进行促销活动,如果你…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?
uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件,用于在原生应用中加载 HTML 页面: 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...

给网站添加live2d看板娘
给网站添加live2d看板娘 参考文献: stevenjoezhang/live2d-widget: 把萌萌哒的看板娘抱回家 (ノ≧∇≦)ノ | Live2D widget for web platformEikanya/Live2d-model: Live2d model collectionzenghongtu/live2d-model-assets 前言 网站环境如下,文章也主…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...