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指令查看其中许多重要信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/532797.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】单链表(一)

上一篇【数据结构】顺序表-CSDN博客 我们了解了顺序表,但是呢顺序表涉及到了一些问题,比如,中间/头部的插入/删除,时间复杂度为O(N);增容申请空间、拷贝、释放旧空间会有不小的消耗;增容所浪费的空间... 我们如何去解…

IOS虚拟键盘弹出后,弹窗的按钮点击不起作用,不会触发click事件

背景 讨论区项目的回复框,使用的是Popup和TextArea做,布局如下图,希望键盘弹出时候,回复框可以紧贴键盘,这点实现起来比较简单,监听resize事件,动态修改popup的这题内容的top值即可&#xff0c…

ONERugged车载平板电脑厂家丨工业车载电脑优势体现丨3年质保

作为现代社会中必不可少的出行工具,汽车不仅仅是代步工具,更是我们生活中的重要一部分。而在如此多功能的汽车内,一款高可靠性、适应不同行业应用的车载平板电脑成为了当下的热门选择。ONERugged车载平板电脑以其卓越的品质和强大的功能而备受…

自动化 单元测试Test

XCTest测试框架(单元测试XCTests、性能测试XCPPerformanceTests、用户界面测试XCUItests) 单元测试XCTests:测试应用中事件或逻辑是否预期工作。 用户界面测试XCUItests:测试用户与应用的UI交互(如点击按钮、滑动屏幕)。 性能测试XCPPerformanceTests&am…

电池电量监测系统设计 单片机+LabVIEW+Matlab+Protues+Keil程序

目录 前言 提供 软件 系统展示 1.放电试验及其处理 2.硬件系统原理图 3.下位机程序 4.显示 5.上位机界面 6.上位机程序 7.文档 资料下载地址:电池电量监测系统设计 单片机LabVIEWMatlabProtuesKeil程序 前言 这套系统首先使用Matlab分析获得了电压…

【opencv】示例-essential_mat_reconstr.cpp 从两幅图像中恢复3D场景的几何信息

导入OpenCV的calib3d, highgui, imgproc模块以及C的vector, iostream, fstream库。定义了getError2EpipLines函数,这个函数用来计算两组点相对于F矩阵(基础矩阵)的投影误差。定义了sgn函数,用于返回一个双精度浮点数的符号。定义了…

系统架构设计图

首先明确应用架构的定义,从百度百科上即可了解到何为应用架构: 应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次: 企业级的应用架构:企业层面的应…

git bash用法-批量修改文件名

在win系统上安装git bash可以使用命令行模式操作,比较方便 1.原始文件名 2.代码 for file in *3utr*; do mv "$file" "$(echo "$file" | sed s/3utr/5utr/)"; done3.修改后的文件名

基于FPGA的HDMI设计导航页面

FPGA使用HDMI更多时候用于传输图像数据,并不会传输音频数据,因此以下文章均采用DVI接口协议,HDMI与DVI的视频传输协议基本一致,区别也很小。 首先需要了解HDMI的来源,以及物理接口类型以及引脚信号,最后对几…

自动化测试-web(弹窗/滚动条/鼠标/等待等操作)

一、弹窗 为什么要处理弹窗? 如果页面操作过程中,有弹窗出现,不处理,无法继续对页面操作。 弹窗类型: js原生弹窗: 警告框、输入框、提示框,这些必须处理 如何处理: 1&#xff0…

HarmonyOS实战开发-设备管理合集(非系统特性)

介绍 本示例集合设备管理相关(非系统特性)不需要复杂功能展示的模块,展示了各个模块的基础功能,包含: ohos.batteryInfo (电量信息)ohos.charger (充电类型)ohos.deviceInfo (设备信息)ohos.power (系统电源管理)oho…

Windows上面搭建Flutter Android运行环境

Flutter Android环境搭建 电脑上面安装配置JDK电脑上下载安装Android Studio电脑上面下载配置Flutter Sdk (避坑点一)下载SDK配置对应的环境变量 到path 电脑上配置Flutter国内镜像运行 flutter doctor命令检测环境是否配置成功创建运行Flutter项目&…

openssl3.2 - exp - zlib

文章目录 openssl3.2 - exp - zlib概述笔记命令行实现程序实现备注 - 压缩时无法base64压缩时无法带口令压缩实现 - 对buffer进行压缩和解压缩测试效果工程实现main.cppCOsslZlibBuffer.hCOsslZlibBuffer.cpp总结END openssl3.2 - exp - zlib 概述 客户端和服务端进行数据交换…

数据库的负载均衡,高可用实验

一 高可用负载均衡集群数据库实验 1.实验拓扑图 2.实验准备(同一LAN区段)(ntp DNS) 客户端:IP:192.168.1.5 下载:MariaDB 负载均衡器:IP:192.168.1.1 下载:keepalived ipvsadm I…

鸿蒙实战开发-如何实现选择并查看文档与媒体文件

介绍 应用使用ohos.file.picker、ohos.multimedia.mediaLibrary、ohos.file.fs 等接口,实现了picker拉起文档编辑保存、拉起系统相册图片查看、拉起视频并播放的功能。 效果预览 使用说明: 在首页,应用展示出最近打开过的文档信息&#xf…

【JavaWeb】Servlet与过滤器

目录 ServletServlet做了什么JSP与Servlet的关系主要Servlet API介绍如何创建ServletServlet中主要方法ServletRequestServletResponseServletConfig Servlet生命周期Servlet创建Servlet部署与运行 ServletConfig类ServletConfig类的三大作用 ServletContext类ServletContext类…

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之八 简单视频素描效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之八 简单视频素描效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之八 简单视频素描效果 一、简单介绍 二、简单指定视频某片段快放效果实现原理 三、简单指定视频某…

web安全学习笔记(9)

记一下第十三课的内容。 准备工作:在根目录下创建template目录,将login.html放入其中,在该目录下新建一个reg.html。在根目录下创建一个function.php 一、函数声明与传参 PHP中的函数定义和其他语言基本上是相同的。我们编辑function.php …

stm32f103c8t6学习笔记(学习B站up江科大自化协)-看门狗【WDG】

硬件部分 一、看门狗简介 看门狗-WDG(watchdog) 看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入长时间的罢工状态…

相机参数的意义

相机标定的意义: 相机标定:使用带有pattern的标定板来求解相机参数的过程;用一个简化的数学模型来代表复杂的三维到二维的成像过程;相机参数包括:相机内参(焦距等),外参&#xff08…