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

【Mysql】主从复制部署(保姆级)

本次部署用到三台Ubuntu虚拟机(一主两从):

        Master服务器:192.168.166.107
        Slave1服务器:192.168.166.101
        Slave2服务器:192.168.166.103

一、部署思路

        首先我们要先捋清主从复制的部署思路:

1、主从服务器先做好时间同步(ntp、ntpdate、chrony、systemd-timesyncd)

2、修改主从数据库的配置文件,配置 二进制日志log-bin、中继日志relay-log、server-id 等相关参数。

3、在主库中创建主从复制的用户,并授予主从复制权限,查看主库状态获取二进制日志文件名和位置点    create user ...     grant relication slave ....     show master status;

4、在从库使用 change master 命令对接主库,并 start slave; 开启同步。

5、在从库使用 show slave status 查看 IO线程 和 SQL线程 的状态是否都是 YES。

二、详细步骤

1、Mysql主从服务器时间同步

vim /etc/systemd/timesyncd.conf
[Time]
NTP=ntp.aliyun.com           #指向阿里云NTP服务器 
FallbackNTP=ntp.ubuntu.com  

systemctl restart systemd-timesyncd timedatectl set-ntp true
timedatectl set-timezone Asia/Shanghai
timedatectl
hwclock --systohc
hwclock --show

2、主服务器的mysql配置

vim /etc/my.cnf
server-id=11
log-bin=mysql-bin        #添加,主服务器开启二进制日志
binlog_format=mixed
default_authentication_plugin=mysql_native_password        #mysql8.0需要修改身份验证插件,从8.0开始默认使用caching_sha2_password#选配项	
expire_logs_days=7        #设置二进制日志文件过期时间,默认值为0,表示logs不过期
max_binlog_size=1G        #设置二进制日志限制大小,如果超出给定值,日志就会发生滚动,默认值是1GB

 "双1设置",数据写入最安全

innodb_flush_log_at_trx_commit=1    #redo log(事务日志)的刷盘策略,每次事务提交时MySQL都会把事务日志缓存区的数据写入日志文件中,并且刷新到磁盘中,该模式为系统默认
sync_binlog=1                       #在进行每1次事务提交(写入二进制日志)以后,Mysql将执行一次fsync的磁盘同步指令,将缓冲区数据刷新到磁盘

        "双1设置"适合数据安全性要求非常高,而且磁盘IO写能力足够支持的业务,比如订单、交易、充值、支付消费系统。"双1模式"下,当磁盘IO无法满足业务需求时,比如11.11活动的压力。推荐以下性能较快的设置,并使用带蓄电池后备电源,防止系统断电异常。

systemctl restart mysqldmysql -u root -pabc123
CREATE USER 'myslave'@'192.168.166.%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.166.%';			#给从服务器授权
FLUSH PRIVILEGES;show master status;

3、从服务器的mysql配置

vim /etc/my.cnf
server-id = 22        #修改,注意id与Master的不同,两个Slave的id也要不同
relay-log=relay-bin        #开启中继日志,从主服务器上同步日志文件记录到本地#选配项
innodb_buffer_pool_size=2048M        #用于缓存数据和索引的内存大小,让更多数据读写在内存中完成,减少磁盘操作,可设置为服务器总可用内存的 70-80%
sync_binlog=0        #MySQL不做任何强制性的磁盘刷新指令,而是依赖操作系统来刷新数据到磁盘
innodb_flush_log_at_trx_commit=2        #每次事务log buffer会写入log file,但一秒一次刷新到磁盘
log-slave-updates=0        #slave 从 master 复制的数据会写入二进制日志文件里,从库做为其他从库的主库时设置为 1
relay_log_recovery=1        #当 slave 从库宕机后,假如 relay-log 损坏了,导致一部分中继日志没有处理,则自动放弃所有未执行的 relay-log, 并且重新从 master 上获取日志,这样就保证了 relay-log 的完整性。默认情况下该功能是关闭的,将 relay_log_recovery 的值设置为 1 时, 可在 slave 从库上开启该功能,建议开启。
skip_slave_start=1        #阻止从库崩溃后自动启动复制,崩溃后再自动复制可能会导致数据不一致的systemctl restart mysqld

mysql -u root -pabc123
#配置同步,注意 master_log_file 和 master_log_pos 的值要与 Master 查询的一致
CHANGE master to master_host='192.168.80.10',master_port=3306,master_user='myslave',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=339;		

start slave;        #启动同步,如有报错执行 reset slave;
show slave status\G        #查看 Slave 状态
//确保 IO 和 SQL 线程都是 Yes,代表同步正常。
Slave_IO_Running: Yes        #负责与主机的io通信
Slave_SQL_Running: Yes        #负责自己的slave mysql进程

一般 Slave_IO_Running: No 的可能性:

        1、网络不通

        2、my.cnf配置有问题

        3、密码、file文件名、pos偏移量不对

        4、防火墙没有关闭

4、验证主从复制效果

主服务器上进入执行 
CREATE DATABASE test_demo;
use test_demo;
CREATE TABLE user_info (id int, name varchar(20), sex char(1), age smallint, PRIMARY KEY (id));去从服务器上查看 
show databases;
show tables from test_demo;

相关文章:

【Mysql】主从复制部署(保姆级)

本次部署用到三台Ubuntu虚拟机(一主两从): Master服务器:192.168.166.107 Slave1服务器:192.168.166.101 Slave2服务器:192.168.166.103 一、部署思路 首先我们要先捋清主从复制的部署思路…...

华为AR1200密码忘记

1、通过Console口连接设备并重启设备。在设备启动过程中,看到提示信息“Press CtrlB to break auto startup...”时,在三秒内按下CtrlB,输入BootLoader密码后,默认密码:Adminhuawei ,进入BootLoader主菜单…...

高级java每日一道面试题-2025年3月26日-微服务篇[Nacos篇]-在Spring Cloud项目中如何集成Nacos?

如果有遗漏,评论区告诉我进行补充 面试官: 在Spring Cloud项目中如何集成Nacos? 我回答: 在Spring Cloud项目中集成Nacos,可以充分利用Nacos作为服务注册与发现中心以及配置管理中心的功能。以下是详细的步骤和说明,帮助你完成这一集成过程…...

YOLO-LLTS:低光照实时交通标志检测算法详解

论文地址:https://arxiv.org/pdf/2503.13883 目录 一、论文概述 1.1 研究背景 1.2 论文结构 二、核心创新点 2.1 CNTSSS数据集 2.2 HRFM-TOD模块 2.3 MFIA模块 2.4 PGFE模块 三、实验与结果 3.1 实验设置 3.2 性能对比 ​编辑3.3 消融实验 四、代码复现建议 4.…...

golang 性能优化分析工具 pprof

pprof简介 pprof 是 Go 语言标准库提供的一个强大的性能分析工具,它能帮助开发者深入了解程序的运行时行为,找出性能瓶颈,进而对代码进行优化。下面从多个方面对 pprof 进行详细介绍: 主要功能 CPU 性能分析:能够记…...

机器学习 Day09 线性回归

1.线性回归简介 线性回归知识讲解 定义与公式 定义:线性回归是利用回归方程(函数)对自变量(特征值)和因变量(目标值)之间关系进行建模的分析方式 。自变量只有一个时是单变量回归,…...

2025高频面试算法总结篇【字符串】

文章目录 直接刷题链接直达如何找出一个字符串中的最大不重复子串给定一个数,删除K位得到最大值字符串的排列至少有K个重复字符的最长子串 直接刷题链接直达 如何找出一个字符串中的最大不重复子串 滑动窗口 --> 滑动窗口直到最后一个元素,每当碰到重…...

JavaScript性能优化(上)

1. 减少 DOM 操作 减少 DOM 操作是优化 JavaScript 性能的重要方法,因为频繁的 DOM 操作会导致浏览器重绘和重排,从而影响性能。以下是一些具体的策略和技术,可以帮助有效减少 DOM 操作: 1.1. 批量更新 DOM 亲切与母体&#xff…...

数据结构与算法——链表OJ题详解(1)

文章目录 一、前言二、OJ题分享2.1移除链表元素——非val尾插法2.2反转链表2.2.1头插法2.2.2三指针法 2.3链表的中间结点——快慢指针法2.4合并两个有序链表2.4.1空链表法2.4.2非空链表法 2.5链表的回文结构2.5.1投机取巧数组法2.5.2反转链表法 三、总结 一、前言 前几天博主已…...

sedex认证2025年变化重点

近日,SEDEX突然宣布:2025年7月1日起,全通知审核正式退出历史舞台,取而代之的是至少3周窗口期的半通知突击审核。这场被业内称为“供应链透明化革命”的调整,或将重塑全球工厂合规生态。 三大变化划重点: 1…...

Scala课后总结(8)

集合计算高级函数 过滤(filter) 从集合里挑出符合特定条件元素组成新集合 。比如从整数集合里选出偶数, list.filter(x > x % 2 0) ,就是筛选出能被2整除的元素。 转化/映射(map) 对集合每个元素应…...

老硬件也能运行的Win11 IoT LTSC (OEM)物联网版

#记录工作 Windows 11 IoT Enterprise LTSC 2024 属于物联网相关的版本。 Windows 11 IoT Enterprise 是为物联网设备和场景设计的操作系统版本。它通常针对特定的工业控制、智能设备等物联网应用进行了优化和定制,以满足这些领域对稳定性、安全性和长期支持的需求…...

蓝桥杯冲刺题单--二分

二分 知识点 二分: 1.序列二分:在序列中查找(不怎么考,会比较难?) 序列二分应用的序列必须是递增或递减,但可以非严格 只要r是mid-1,就对应mid(lr1)/2 2.答…...

计网 2025/4/8

CDMA? CRC循环冗余检验 PPP协议的帧格式 字节填充(异步传输、7E->7D5E)零比特填充(同步传输、确保不会出现连续6个1) CSMA/CD协议 多点接入载波监听碰撞检测 一些概念: 争用期 一些公式: 最短有效帧…...

java设计模式-工厂模式

工厂模式 简单工厂模式 请看类: org.xwb.springcloud.factory.simple.PizzaStore 1、简单工厂模式是属于创建型模式,是工厂模式的一种,简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实力。简单来工厂模式就是工厂模式家族中最简单最…...

2025年客运从业资格证备考刷题题库

题库中通常包含大量的题目,以全面覆盖考试的知识点。通过做大量的题目,考生可以熟悉各种考试题型和命题方式,提高答题的速度和准确性,同时也能发现自己在知识掌握上的薄弱环节,有针对性地进行复习和强化训练。 1、驾驶…...

Zephyr、FreeRTOS、RT-Thread 任务创建对比分析

一、任务模型与核心概念 特性ZephyrFreeRTOSRT-Thread任务术语线程(Thread)任务(Task)线程(Thread)执行单元线程(单地址空间)任务(共享内存空间)线程&#x…...

RK-realtime Linux

rk3562实时性数据:最大76us rk3568实时性数据:最大126us rk3588实时性数据:最大30us 注意事项 (1)RK3568 需要使用RT版本的BL31,实时性能更好 ​ a)rkbin需要更新到最新,且包含这个补丁:...

Ubuntu 22 Linux上部署DeepSeek+RAG知识库操作详解(Dify方式)之1

一、安装Docker 1. 更新你的包索引 首先,确保你的包列表是最新的。打开终端并运行以下命令: sudo apt update 2. 安装必要的依赖项 安装Docker之前,你需要安装一些必要的依赖项。运行以下命令来安装它们: sudo apt install apt…...

将飞帆制作的网页作为 div 集成到自己的网页中

并且自己的网页可以和飞帆中的控件相互调用函数。效果: 上链接 将飞帆制作的网页作为 div 集成到自己的网页中 - 文贝 进入可以复制、运行代码...

【C++游戏引擎开发】《几何算法》(3)AABB/OBB碰撞检测

一、AABB(轴对齐包围盒) 1.1 定义 ​最小点: m i n = ( x min , y min , z min ) \mathbf{min} = (x_{\text{min}}, y_{\text{min}}, z_{\text{min}}) min=(xmin​,ymin​,zmin​)​最大点: m a x = ( x max , y max , z max ) \mathbf{max} = (x_{\text{max}}, y_{\text{…...

基于人工智能的高中教育评价体系重构研究

基于人工智能的高中教育评价体系重构研究 一、引言 1.1 研究背景 在科技飞速发展的当下,人工智能技术已广泛渗透至各个领域,教育领域亦不例外。人工智能凭借其强大的数据处理能力、智能分析能力和个性化服务能力,为教育评价体系的创新与发…...

【C++游戏引擎开发】数学计算库GLM(线性代数)、CGAL(几何计算)的安装与使用指南

写在前面 两天都没手搓实现可用的凸包生成算法相关的代码,自觉无法手搓相关数学库,遂改为使用成熟数学库。 一、GLM库安装与介绍 1.1 vcpkg安装GLM 跨平台C包管理利器vcpkg完全指南 在PowerShell中执行命令: vcpkg install glm# 集成到系…...

Python 字典和集合(常见的映射方法)

本章内容的大纲如下: 常见的字典方法 如何处理查找不到的键 标准库中 dict 类型的变种set 和 frozenset 类型 散列表的工作原理 散列表带来的潜在影响(什么样的数据类型可作为键、不可预知的 顺序,等等) 常见的映射方法 映射类型…...

Qt 自带的QSqlDatabase 模块中使用的 SQLite 和 SQLite 官方提供的 C 语言版本(sqlite.org)对比

Qt 自带的 QSqlDatabase 模块中使用的 SQLite 和 SQLite 官方提供的 C 语言版本(sqlite.org)在核心功能上是相同的,但它们在集成方式、API 封装、功能支持以及版本更新上存在一些区别。以下是主要区别: 1. 核心 SQLite 引擎 Qt 的…...

按键长按代码

这些代码都存放在定时器中断中。中断为100ms中断一次。 数据判断,看的懂就看吧...

zk源码—3.单机和集群通信原理一

大纲 1.单机版的zk服务端的启动过程 (1)预启动阶段 (2)初始化阶段 2.集群版的zk服务端的启动过程 (1)预启动阶段 (2)初始化阶段 (3)Leader选举阶段 (4)Leader和Follower启动阶段 1.单机版的zk服务端的启动过程 (1)预启动阶段 (2)初始化阶段 单机版zk服务端的启动&…...

车企数字化转型:从“制造工厂”到“移动科技平台”的升维路径

一、战略重构:政策与产业变革的双重倒逼 中国《智能网联汽车技术路线图2.0》明确要求2030年L4级自动驾驶新车渗透率达20%,而麦肯锡数据显示,全球车企数字化投入占比已从2018年的7%跃升至2025年的18%。当前车企面临三大核心挑战:用…...

C++-Mongoose(2)-https-server-openssl

OpenSSL生成HTTPS自签名证书 - 简书 1.Openssl windowsubuntu下载http://www.openssl.vip/download1.VS2019编译OpenSSL 2.VS2019编译第一个OpenSSL项目 1.ubuntu编译OpenSSL 3.0 2.编写第一个OpenSSL 1.windows下编译OpenSSL 安装vs2019 perl nasm安装activePerl…...

nginx正向代理https

一、需求 公司内部服务器向外访问腾讯接口:https://qyapi.weixin.qq.com/cgi-bin,不能使用http直接访问。并且不支持域名,还需要设置互联网出口-出向白名单ip。 如何在尽量少改动代码的情况下实现应用的出向访问链接,考虑使用正向…...

Flask中的蓝图(Blueprint)浅讲

BluePrint Flask中的蓝图(Blueprint)​是一种强大的组织工具,能够将大型应用拆分为可重用的模块化组件 1. ​模块化组织 用途:将应用按功能拆分为独立模块,提升代码可维护性。​示例: # user/views.py fr…...

虚拟表、TDgpt、JDBC 异步写入…TDengine 3.3.6.0 版本 8 大升级亮点

近日,TDengine 3.3.6.0 版本正式发布。除了此前已亮相的时序数据分析 AI 智能体 TDgpt,本次更新还带来了多个针对性能与易用性的重要增强:虚拟表全面上线,支持更灵活的一设备一表建模;JDBC 写入机制全新升级&#xff0…...

大型语言模型智能应用Coze、Dify、FastGPT、MaxKB 对比,选择合适自己的LLM工具

大型语言模型智能应用Coze、Dify、FastGPT、MaxKB 对比,选择合适自己的LLM工具 Coze、Dify、FastGPT 和 MaxKB 都是旨在帮助用户构建基于大型语言模型 (LLM) 的智能应用的平台。它们各自拥有独特的功能和侧重点,以下是对它们的简要对比: Coz…...

WEB安全--XSS--DOM破坏

一、前言 继XSS基础篇后,我们知道了三种类型的XSS,这篇文章主要针对DOM型XSS的原理进行深入解析。 二、DOM型XSS原理 2.1、什么是DOM 以一个形象的比喻: 网页就像是一座房子,而 **DOM** 就是这座房子的“蓝图”或者“结构图”。…...

持续集成:GitLab CI/CD 与 Jenkins CI/CD 的全面剖析

一、引言 在当今快速迭代的软件开发领域,持续集成(Continuous Integration,CI)已成为保障软件质量、加速开发流程的关键实践。通过频繁地将代码集成到共享仓库,并自动进行构建和测试,持续集成能够尽早发现并解决代码冲突和缺陷。而 GitLab CI/CD 和 Jenkins CI/CD 作为两…...

Go语言sync.Mutex包源码解读

互斥锁sync.Mutex是在并发程序中对共享资源进行访问控制的主要手段,对此Go语言提供了非常简单易用的机制。sync.Mutex为结构体类型,对外暴露Lock()、Unlock()、TryLock()三种方法,分别用于阻塞加锁、解锁、非阻塞加锁操作(加锁失败…...

FreeRTOS软件定时器

软件定时器就是"闹钟",你可以设置闹钟, 用软件定时器的话USE_TIMER要设置为1 在30分钟后让你起床工作每隔1小时让你例行检查机器运行情况 软件定时器也可以完成两类事情: 在"未来"某个时间点,运行函数周期…...

Selenium三大等待

一、强制等待 1.设置完等待后不管有没有找到元素,都会执行等待,等待结束后才会执行下一步 2.实例: driver webdriver.Chrome()driver.get("https://www.baidu.com")time.sleep(3) # 设置强制等待driver.quit() 二、隐性等待 …...

【Ansible自动化运维】一、初步了解,开启自动化运维之旅

在当今数字化时代,随着企业 IT 基础设施规模的不断扩大,传统的手工运维方式逐渐显得力不从心。自动化运维技术应运而生,其中 Ansible 凭借其简洁易用、功能强大的特点,成为众多运维工程师和开发人员的首选工具。本篇文章将从基础概…...

雪花算法、md5加密

雪花算法生成ID是一个64位长整型(但是也可以通过优化简短位数) 组成部分: 时间戳 机器ID 序列号 用途: 分布式系统唯一ID生成:解决数据库自增ID在分布式环境下的唯一性问题、避免UUID的无序性和性能问题 有序性…...

micro介绍

micro介绍 Micro 的首要特点是易于安装(它只是一个静态的二进制文件,没有任何依赖关系)和易于使用Micro 支持完整的插件系统。插件是用 Lua 编写的,插件管理器可自动为你下载和安装插件。使用简单的 json 格式配置选项&#xff0…...

电视盒子 刷armbian

参考 中兴电视盒子中兴B860AV3.2-M刷Armbian新手级教程-CSDN博客 1.刷安卓9 带root版本 a. 下载安卓线刷包 链接:https://pan.baidu.com/s/1hz87_ld2lJea0gYjeoHQ8A?pwdd7as 提取码:d7as b.拆机短接 3.安装usbburning工具 使用方法 ,…...

(七)lerobot开源项目so100新版本全流程操作(操作记录)

目录 《项目简介》 一、环境配置 1、创建虚拟环境 2、克隆项目并安装所需包 二、主从臂硬件准备 1、舵机配置 (1)分别查看主从臂的开发板端口号 (2)分别设置主从臂的舵机 2、组装主从臂 3、查看主从臂端口号和相机端…...

智慧景区能源管理解决方案,为旅游“升温”保驾护航

景区能源管理 当下痛点 1 高峰期用电负荷大 节假日和旅游旺季等高峰期用电需求增大,电力供应不足、电网负荷过大; 2 设备维护困难 景区内电力设备多且散,包括发电机组、变电站、配电设备等,维护和管理困难,特别是…...

LCR 056. 两数之和 IV - 输入二叉搜索树

文章目录 题意思路代码 题意 题目链接 思路 代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), …...

AI搜索+法律咨询:在「事实重构」与「程序正义」的博弈场‌

已经写了股票和医疗相关的内容,今天聊一下AI搜索和法律结合的应用场景。AI搜索不替用户做选择,却让我们握住了法律武器的说明书。 ​​​​​​​一、AI重构事实:技术理想与法律现实的碰撞 ‌ 1、案例切入:AI能否还原车祸责任比…...

多模态大模型重塑自动驾驶:技术融合与实践路径全解析

目录 1、 引言:AI与自动驾驶的革命性融合 2、五大领先多模态模型解析 2.1 Qwen2.5-Omni:全模态集大成者 2.2. LLaVA:视觉语言理解专家 2.3. Qwen2-VL:长视频理解能手 2.4. X-InstructBLIP:跨模态理解框架 2.5. …...

海阳科技IPO:业务独立性、业绩稳定性、财务规范性存致命缺陷

三角形是最稳定的结构,它既是完美的相互制衡,又是有力的彼此支撑。 ——佚名 引 言 IPO审议指标、要求、规定众多,有无一个直接简单的公式?该公式可以直接将造假等“低劣”IPO项目排除在外? 在《奕泽财经》看来…...

PyTorch 与 Python 装饰器及迭代器的比较与应用

在深度学习和 Stable Diffusion(SD)训练过程中,PyTorch 不仅依赖于 Python 的基础特性,而且通过扩展和封装这些特性,提供了更高效、便捷的训练和推理方式。本文将从装饰器和迭代器两个方面详细解释 Python 中的原生实现…...

大数据(5)(基础概念)Spark从入门到实战:核心原理与大数据处理实战案例

目录 一、背景介绍1‌. 为什么需要Spark?‌‌2. Spark的诞生‌: 二、Spark核心原理1. ‌四大核心特性‌2. ‌核心架构‌3. ‌执行流程‌ 三、Spark实战案例案例1:单词计数(WordCount)案例2:实时流处理&…...