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

MySQL 主从复制部署(8.0)

什么是主从数据库


主从数据库是一种数据库架构模式,通常用于提高数据库的性能、可用性和可伸缩性。

它包括两种类型的数据库服务器:

1)主数据库(Master):主数据库是读写数据的主要数据库服务器。所有写操作(插入、更新、删除)都在主数据库上执行。主数据库负责维护数据的一致性,并将写操作的变更记录下来。

2)从数据库(Slave):从数据库是只读副本,它从主数据库中复制数据。承担一部分主库的的读数据压力,从而减轻了主数据库的负担。从数据库可以有多个,构成一个复制链,其中每个从数据库都从前一个从数据库中复制数据。

主从数据库优缺点


1)优点

  • 高可用,主库挂了,从库顶上。
  • 读写分离,主库用于写,从库用于读,从而缓解主库压力。
  • 备份数据。

2)缺点

  • 数据延迟:由于数据复制的时间延迟,从数据库可能不会立即反映主数据库中的更改。
  • 配置和维护复杂性:设置和维护主从数据库架构需要额外的工作,特别是确保数据的一致性和复制的稳定性。

主从数据库的搭建


主库配置

1)修改配置文件/etc/my.cnf

# mysql服务ID,保证整个集群环境中唯一,默认为1
server-id=1# 是否只读,1代表只读,0代表读写
read-only=0# 开启gtid(用于适配MASTER_AUTO_POSITION)
gtid-mode = ON
enforce-gtid-consistency = ON
# log-slave-updates=1

2)重启MySQL服务器

systemctl restart mysqld

3)登录mysql,创建远程连接的账号,并授予主从复制权限

# 创建s01用户,并设置密码,该用户可在任意主机连接该MySQL服务
# 删除创建的用户drop user 's01'@'%';
create user 's01'@'%' identified with mysql_native_password by 'Root@123456';# 为s01用户分配主从复制权限
grant replication slave on *.* to 's01'@'%';

4)通过指令,查看二进制日志坐标

show master status;

执行结果:

  • file:从哪个日志文件开始推送;
  • position:从哪个位置开始推送日志;
  • binlog_ignore_db:不需要同步的数据库;

从库配置

1)修改配置文件 /etc/my.cnf

# mysql服务ID,保证整个集群环境中唯一,默认为1
server-id=2# 是否只读,1代表只读,0代表读写
read-only=1# 开启gtid(用于适配MASTER_AUTO_POSITION)
gtid-mode = ON
enforce-gtid-consistency = ON
# log-slave-updates=1

2)重启MySQL服务器

systemctl restart mysqld

3)登录mysql,设置主库配置

# 使用s01用户连接
change master to source_host='127.0.0.1',source_user='s01',source_password='kingsoft.',master_port=3307,MASTER_AUTO_POSITION =1;# 使用root用户连接(二选一即可)
change master to source_host='127.0.0.1',source_user='root',source_password='kingsoft.',master_port=3307,MASTER_AUTO_POSITION =1;

注:

  • source_host:如果是同一台机器用127.0.0.1或内网ip都可以,如果是不同机器使用外网ip;
  • master_port:指定主节点的端口号,未指定时默认3306;

4)开启同步操作

# 关闭同步操作:stop slave; 
start slave;

6)查看主从同步状态

show slave status\G;

执行结果:

注:如果 Slave_IO_Running 和 Slave_SQL_Running 都为 Yes,则说明主从复制部署成功。

  • Master_Log_File: 从服务器正在读取的主服务器的二进制日志文件的名称。
  • Read_Master_Log_Pos: 从服务器已经读取的主服务器二进制日志的位置。
  • Relay_Master_Log_File: 已经应用到从服务器数据的主服务器二进制日志文件的名称。
  • Exec_Master_Log_Pos: 已经应用到从服务器数据的主服务器二进制日志的位置。
  • Slave_IO_Running 和 Slave_SQL_Running: 分别表示从服务器的 I/O 线程和 SQL 线程是否正在运行。
  • Last_Errno 和Last_Error: 最后一次复制时的错误号和错误信息。

注:正常情况下无法查看master.info里的内容,但可以通过show slave status指令查看其中许多重要信息。

相关文章:

MySQL 主从复制部署(8.0)

什么是主从数据库 主从数据库是一种数据库架构模式,通常用于提高数据库的性能、可用性和可伸缩性。 它包括两种类型的数据库服务器: 1)主数据库(Master):主数据库是读写数据的主要数据库服务器。所有写操…...

大话设计模式——16.命令模式(Command Pattern)

简介 请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的对象进行执行。命令模式是一种特殊的策略模式,体现多个策略执行的问题,而不是选择的问题 UML图 应用场景 界面选择、键盘、按钮、事件操作都类似命令模式 …...

react17+18 中 setState是同步还是异步更新

在类组件中使用setState,在函数式组件中使用hooks的useState。 setstate目录 1. 类组件1.1 react 17版本1.2 react 18版本 2、函数式组件 1. 类组件 1.1 react 17版本 参考内容:第十一篇:setState 到底是同步的,还是异步的&…...

Unity框架,ET框架8.1版本的打包流程记录

目录 打包代码前置1.必须要安装Visusal Studio 2022的组件,如下图,必须都要进行安装,不然会在代码重构的时候报错,丢失SDK。Rider的版本必须2023及以上 步骤一、使用Rider编辑器打开项目后进行重构项目步骤二、使用HybirdCLR生成A…...

windows访问wsl中的docker

1、启动windows路由转发功能&#xff1a; 找到任务管理器 --》服务–》打开服务–》 ROUTing and Remote Access 2、关闭wsl中linux的防火墙 3、查看docker系统和linux系统的ip和网关 以下面为例 # docker系统 eth0: flags4163<UP,BROADCAST,RUNNING,MULTICAST> mtu…...

golang主要优缺点

优点 1&#xff09;采用协程机制&#xff0c;可以很方便的支持高并发&#xff0c;性能还不错。 2&#xff09;非常易于使用&#xff0c;产出效率很高。 缺点 也是协程机制。程序中一切皆协程&#xff0c;并且自己做了协程调度机制&#xff0c;而不是传统的 线程机制。导致需…...

浅谈Redis和一些指令

浅浅谈一谈Redis的客户端 Redis客户端 Redis也是一个客户端/服务端结构的程序。 MySQL也是一个客户端/服务端结构的程序。 Redis的客户端也有多种形态 1.自带命令行客户端 redis-cli 2.图形化界面的客户端&#xff08;桌面程序&#xff0c;web程序&#xff09; 像这样的图形…...

AI大模型探索之路-应用篇1:Langchain框架概述—快速构建大模型应用

目录 一、什么是LangChain&#xff1f; 二、LangChain解决了哪些问题&#xff1f; 三、LangChain总体架构 四、代码实践样例 总结 一、什么是LangChain&#xff1f; 为大模型应用提供简便之道。 LangChain&#xff0c;专为构建庞大的语言模型应用程序设计的框架&#xff0…...

Google Chrome 常用设置

Google Chrome 常用设置 References 转至网页顶部 快捷键&#xff1a;Home 转至内容设置 chrome://settings/content 清除浏览数据 历史记录 -> 清除浏览数据 关于 Chrome 设置 -> 关于 Chrome chrome://settings/help References [1] Yongqiang Cheng, https:/…...

如何提高旋转花键运行稳定性?

现代化精密仪器设备中&#xff0c;精密仪器的稳定工作性能对于生产效率和产品质量至关重要&#xff0c;运行效率和精度是常见问题。旋转花键作为机械传动系统中的重要组成部分&#xff0c;其稳定性也是直接影响到机械装配的质量和使用寿命&#xff0c;那么我们应该如何提升旋转…...

每日一题 第八十七期 洛谷 [蓝桥杯 2018 省 AB] 全球变暖

[蓝桥杯 2018 省 AB] 全球变暖 题目描述 你有一张某海域 N N N \times N NN 像素的照片&#xff0c;. 表示海洋、 # 表示陆地&#xff0c;如下所示&#xff1a; ....... .##.... .##.... ....##. ..####. ...###. .......其中 “上下左右” 四个方向上连在一起的一片陆地组…...

AI技术创业有哪些机会?

文章目录 ✍探索AI技术创业的机会与挑战&#x1f48e;引言&#x1f48e;AI技术的快速发展与应用&#x1f48e;&#x1f339;AI技术创业的机会与方向&#x1f339;1. 行业解决方案&#x1f339;2. 智能产品和服务&#x1f339;3. 教育和培训 &#x1f48e;AI技术创业的挑战与应对…...

TensorFlow学习之:基础概念和操作

TensorFlow简介 TensorFlow是一个开源的深度学习框架&#xff0c;由Google的研究团队Google Brain Team开发&#xff0c;并在2015年发布。它是基于DistBelief&#xff0c;Google之前的一个深度学习项目&#xff0c;但被重新设计以便更灵活、更强大、更适应于研究和生产。 历史…...

最新在线工具箱网站系统源码

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 系统内置高达72种站长工具、开发工具、娱乐工具等功能。此系统支持本地调用API&#xff0c;同时还自带免费API接口&#xff0c; 是一个多功能性工具程序&#xff0c;支持后台管理、上…...

c# InvokeRequested delegate解决线程访问界面

说明 界面操作的代码应该写在界面&#xff08;Form/Dialog&#xff09;里 方法定义 private void Method1(string s) {...... }delegate定义 private delegate void Method1Delegate(string s);界面调用代码 private void op(){string sText"hello";if (this.In…...

使用 Web Workers 作为setInterval的替代方案

使用 Web Workers 作为setInterval的替代方案 在 Vue 项目中&#xff0c;为了避免 setInterval 在标签页非激活状态下的不准确问题&#xff0c;我们可以使用 Web Workers 作为一个替代方案 Web Worker 介绍&#xff1a; Web Workers : 浏览器后台为网页运行的一个小助手&…...

python实现将日期文本化

环境&#xff1a;python3.8.10 需要&#xff1a;有些时候&#xff0c;需要在一段文本的后面&#xff0c;添加上日期&#xff0c;尤其是文本重复的情况下&#xff0c;添加上每天的日期更为重要。 代码实现&#xff1a; import datetimetodaydatetime.date.today() date_textto…...

react ant design 通过函数弹出 modal窗口

在React Ant Design中&#xff0c;可以通过调用Modal组件的方法来动态弹出和关闭Modal窗口。具体步骤如下&#xff1a; 1、首先&#xff0c;在组件中引入Modal组件&#xff1a; import { Modal } from antd;2、在组件中定义一个函数来弹出Modal窗口&#xff1a; const showM…...

力扣刷题Days33-209. 长度最小的子数组(js)

目录 1&#xff0c;题目-滑动窗口 2&#xff0c;代码 滑动窗口 3&#xff0c;学习与总结 1&#xff0c;题目-滑动窗口 给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其总和大于等于 target 的长度最小的 连续子数组 [numsl, numsl1, ..., numsr-1,…...

面对DDOS攻击,有哪些解决办法

随着互联网带宽的持续增长以及DDOS黑客技术的发展&#xff0c;DDOS拒绝服务攻击的实施变得愈发容易。商业竞争、打击报复、网络敲诈等多种因素&#xff0c;各行各业的用户都曾受到DDOS攻击的威胁。 一旦遭受到DDOS攻击&#xff0c;随之而来的就是业务宕机&#xff0c;用户无法…...

Rust异步任务取消机制:从协作式取消到结构化并发实践

1. 项目概述&#xff1a;当异步任务“半途而废”时在Rust的异步编程世界里&#xff0c;我们常常专注于如何让任务“跑起来”——用async/await优雅地处理并发&#xff0c;用Future描述计算&#xff0c;用tokio或async-std这样的运行时来驱动一切。代码逻辑清晰&#xff0c;从A点…...

现代C++错误处理中的异常与结果类型权衡

现代C错误处理中的异常与结果类型权衡C 错误处理长期存在两条路线&#xff1a;异常和返回值。现代工程实践里&#xff0c;问题不再是“哪一个绝对更好”&#xff0c;而是如何根据边界、性能和调用模式做出清晰选择。异常的优势在于主路径简洁&#xff1a;#include #includeint …...

独家解密:ElevenLabs匈牙利语模型训练数据源(含布达佩斯大学语料库授权细节与音系学标注规范)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs匈牙利语语音模型的技术定位与战略意义 ElevenLabs 匈牙利语语音模型并非简单的地方语言适配&#xff0c;而是其多语言零样本语音合成&#xff08;Zero-Shot Voice Cloning&#xff09;架构在…...

激光雷达距离传感器:智能感知时代的“千里眼“

在万物互联的智能时代&#xff0c;激光雷达距离传感器正以厘米级的精准测距能力&#xff0c;重塑自动驾驶、机器人导航与智慧城市的感知边界。它不仅是一款传感器&#xff0c;更是智能系统的"第三只眼"——看得远、看得清、看得准。一、硬核原理&#xff1a;光速丈量…...

ADAU1701(含A2B)的开发详解五:SigmaStudio实战技巧与模块高效应用

1. SigmaStudio模块查找的终极技巧 第一次打开SigmaStudio时&#xff0c;面对左侧密密麻麻的模块列表&#xff0c;我完全懵了。就像走进一个巨大的图书馆却找不到分类标签&#xff0c;ADI把200多个算法模块分散在30多个分类里&#xff0c;光Volume Controls下面就有12种音量调节…...

极简fastapi框架

# 自己手写一个极简版 FastAPI 框架 class MiniFastAPI:def __init__(self):# 路由表&#xff1a;存储 {("GET", "/url1"): 对应函数}self.router_map {}# 模仿 app.get("/path") 装饰器def get(self, path: str):def decorator(func):# 把 请求…...

避开无感FOC的那些坑:我的STM32F103 SMO观测器调试心得与波形分析

避开无感FOC的那些坑&#xff1a;我的STM32F103 SMO观测器调试心得与波形分析 在无感FOC驱动开发中&#xff0c;观测器的调试往往是整个项目中最具挑战性的环节。当电机出现抖动、观测角度不准或启动失败时&#xff0c;如何快速定位问题并优化参数&#xff0c;成为工程师们必须…...

ITK-SNAP医学图像分割:精准医疗影像分析的利器

ITK-SNAP医学图像分割&#xff1a;精准医疗影像分析的利器 【免费下载链接】itksnap ITK-SNAP medical image segmentation tool 项目地址: https://gitcode.com/gh_mirrors/it/itksnap 面对复杂的医学影像数据&#xff0c;如何快速准确地进行三维解剖结构分割&#xff…...

基于Agen项目构建个人AI代理:从LLM原理到邮件处理实战

1. 项目概述&#xff1a;从“Agen”看个人化AI代理的构建思路最近在GitHub上看到一个名为“Agen”的项目&#xff0c;作者是Anjuan555。这个项目名本身就很值得玩味——“Agen”&#xff0c;很容易让人联想到“Agent”&#xff08;代理&#xff09;&#xff0c;但又少了一个“t…...

Crypto AI Agent:基于LangChain与Web3的加密交易智能体实战

1. 项目概述&#xff1a;当AI智能体闯入加密世界最近在GitHub上看到一个挺有意思的项目&#xff0c;叫“Crypto-AI-Agent”。光看名字&#xff0c;你大概就能猜到它想干什么——让AI来玩转加密货币。这可不是简单的价格查询机器人&#xff0c;从项目描述和代码结构来看&#xf…...