mysql主从复制/主从备份搭建

mysql主从复制/主从备份搭建

  • 前言
  • 一、主从复制
    • 1)为什么使用主从复制、读写分离?
    • 2)主从复制原理
  • 二、如何实现主从复制?
    • 1)主库配置
      • 1、修改配置文件
      • 2、登录mysql:
    • 2)从库配置
      • 1、修改配置文件
      • 2、登录mysql:
    • 3)配置过程中报错1794
  • 总结


前言

最新的 Java 面试题,技术栈涉及 Java 基础、集合、多线程、Mysql、分布式、Spring全家桶、MyBatis、Dubbo、缓存、消息队列、Linux…等等,会持续更新。

如果对老铁有帮助,帮忙免费点个赞,谢谢你的发财手!

一、主从复制

1)为什么使用主从复制、读写分离?

  • 主从复制、读写分离一般是一起使用的。
  • 目的很简单,就是为了提高数据库的并发性能。假设是单机,读写都在一台MySQL上面完成,性能肯定不高。如果有三台MySQL,一台mater只负责写操作,两台salve只负责读操作,性能就能大大提高了。

2)主从复制原理

  • 1、当Master节点进行insert、update、delete操作时,会按顺序写入到binlog中;
  • 2、salve从库连接master主库,Master有多少个slave就会创建多少个binlog dump线程;
  • 3、当Master节点的binlog发生变化时,binlog dump 线程会通知所有的salve节点,并将相应的binlog内容推送给slave节点;
  • 4、I/O线程接收到 binlog 内容后,将内容写入到本地的 relay-log;
  • 5、SQL线程读取I/O线程写入的relay-log,并且根据 relay-log 的内容对从数据库做对应的操作。

二、如何实现主从复制?

假设这里用三台Linux服务器,IP分别是101(Master),102(Slave),103(Slave),确保三台服务器能够相互访问。
我的mysql数据库版本是5.7

1)主库配置

1、修改配置文件

vim /etc/my.cnf
  1. 添加如下配置:
[mysqld]
#开启binlog
log-bin=mysql-bin # 启用bin log日志
server-id=101 #服务器唯一id
#需要同步的数据库,如果不配置则同步全部数据库
binlog-do-db=test_db
#是否只读,1 代表只读, 0 代表读写 (不加代表读写)
read-only=0
  1. 保存后,重启mysql服务器
systemctl status mysqld; # 查看mysql状态,显示active(running)说明正常
systemctl restart mysqld; # 重启mysql

2、登录mysql:

mysql -u <用户名> -p;
  1. 配置权限
//192.168.0.102是slave从机的IP
GRANT REPLICATION SLAVE ON *.* to 'root'@'192.168.0.102' identified by 'root@1234';
//192.168.0.103是slave从机的IP
GRANT REPLICATION SLAVE ON *.* to 'root'@'192.168.0.103' identified by 'root@1234';
//刷新系统权限表的配置
FLUSH PRIVILEGES;
  1. 查看当前binlog日志的信息
    执行命令:show master status\G
    < img>
  • file : 从哪个日志文件开始推送日志文件
  • position : 从哪个位置开始推送日志
  • binlog_ignore_db : 指定不需要同步的数据库

2)从库配置

1、修改配置文件

vim /etc/my.cnf
  1. 添加如下配置:
[mysqld]
server-id=102 #服务器唯一id
  1. 保存后,重启mysql服务器
systemctl restart mysqld; # 重启mysql

2、登录mysql:

mysql -u <用户名> -p;

1、设置主库配置
1)如果mysql是 8.0.22 之前的版本,执行如下SQL:

CHANGE MASTER TO MASTER_HOST='192.168.0.101', MASTER_USER='root', MASTER_PASSWORD='root@1234', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=18802;

2)如果mysql是 8.0.22 之后的版本,执行如下SQL:

CHANGE REPLICATION SOURCE TO SOURCE_HOST='192.168.0.101', SOURCE_USER='root', SOURCE_PASSWORD='root@1234', SOURCE_LOG_FILE='mysql-bin.000001', SOURCE_LOG_POS=18802;

2、开启主从同步操作

#8.0.22之后: 
start replica ;
#8.0.22之前:
start slave ;

3、查看主从同步状态

#8.0.22之后: 
show replica status;
#8.0.22之前:
show slave status ;

< img>

  • 可以查看当前同步的偏移量是18802;
  • 以及同步状态Slave_IO_Running和Slave_SQL_Running都是YES。

3)配置过程中报错1794

  • Mysql配置主从报错:
    Slave is not configured or failed to initialize properly. You must at least set --server-id to enable either a master or a slave...
  • 解决:我是因为/etc/my.cnf 没有加 [mysqldl],而且不能拼写错误。

总结

都已经看到这里啦,赶紧收藏起来,祝您工作顺心,生活愉快!

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

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

相关文章

函数-Python

师从黑马程序员 函数初体验 str1"asdf" str2"qewrew" str3"rtyuio" def my_len(data):count0for i in data:count1print(f"字符串{data}的长度是{count}")my_len(str1) my_len(str2) my_len(str3) 函数的定义 函数的调用 函数名&a…

爱恩斯坦棋小游戏使用C语言+ege/easyx实现

目录 1、游戏介绍和规则 2、需要用到的头文件 3、这里我也配上一个ege和easyx的下载链接吧&#xff0c;应该下一个就可以 4、运行结果部分展示 5、需要用到的图片要放在代码同一文件夹下 6、代码地址&#xff08;里面有需要用到的图片&#xff09; 1、游戏介绍和规则 规则如…

电学基础知识

目录 电流 前言 电流的产生 电流的单位安培&#xff08;A&#xff09; 电路和电池 开路和闭路 电灯泡原理 对电池容量的理解 毫安时 毫瓦时 直流电和交流电 AC交流电 DC直流电 直流电和交流电对比 电压 对电器的电压和电流的理解 电阻 电压电阻电子的关系 欧…

GateWay路由规则

Spring Cloud GateWay 帮我们内置了很多 Predicates功能&#xff0c;实现了各种路由匹配规 则&#xff08;通过 Header、请求参数等作为条件&#xff09;匹配到对应的路由 1 时间点后匹配 server:port: 8888 spring:application:name: gateway-servicecloud:nacos:discovery:…

超实用!免费软件站大盘点,总有一款适合你

相信用Mac电脑的同学都知道一个网站MacWK&#xff0c;可以白嫖几乎所有常用软件&#xff0c;不用付费&#xff0c;但不好的消息是在2022年10月宣布关站&#xff0c;小编从此走上了开源免费的道路&#xff0c;尽管不太好用&#xff0c;奈何口袋木有钱&#xff0c;经过小编的不断…

VS2022 配置QT5.9.9

QT安装 下载地址&#xff1a;https://download.qt.io/archive/qt/ 下载安装后进行配置 无法运行 rc.exe 下载VS2022 官网下载 配置 1.扩展-管理扩展-下载Qt Visual Studio Tools 安装 2.安装完成后&#xff0c;打开vs2022,点击扩展&#xff0c;会发现多出了QT VS Tools,点…

【学习学习】学习金字塔

学习金字塔&#xff08;Cone of Learning&#xff09;&#xff0c;全称学习吸收率金字塔&#xff0c;是一种现代学习方式的理论。网上流传它是美国缅因州的国家训练实验室&#xff08;National Training Laboratories&#xff09;研究成果&#xff0c;用数字形式形象显示了采用…

数据分析-Pandas序列时间移动窗口化操作

数据分析-Pandas序列时间移动窗口化操作 数据分析和处理中&#xff0c;难免会遇到各种数据&#xff0c;那么数据呈现怎样的规律呢&#xff1f;不管金融数据&#xff0c;风控数据&#xff0c;营销数据等等&#xff0c;莫不如此。如何通过图示展示数据的规律&#xff1f; 数据表…

Elasticsearch:调整近似 kNN 搜索

在我之前的文章 “Elasticsearch&#xff1a;调整搜索速度”&#xff0c;我详细地描述了如何调整正常的 BM25 的搜索速度。在今天的文章里&#xff0c;我们来进一步探讨如何提高近似 kNN 的搜索速度。希望对广大的向量搜索开发者有一些启示。 Elasticsearch 支持近似 k 最近邻…

MateBook D 14 SE版(2022版)使用体验

试用了一下华为的笔记本电脑&#xff0c;我觉得是出乎意料的好用&#xff0c;配置不算高&#xff0c;但是特别流程&#xff0c;而且自带了正版的office等软件&#xff0c;生产力杠杠的&#xff0c;外观也很不错&#xff0c;设计语言很高级&#xff0c;价格不贵&#xff0c;但是…

17.获取帖子列表

文章目录 一、建立帖子表结构并插入一些测试数据二、通过SQL建立对应的数据模型三、建立路由四、开发GetPostListHandler五、编写logic六、编写dao层七、编译测试运行 一、建立帖子表结构并插入一些测试数据 create table post (id bigint auto_increment primary k…

浅谈如何自我实现一个消息队列服务器(2)——细节详解

文章目录 一、实现 broker server 服务器1.1 创建一个SpringBoot项目1.2 创建Java类 二、硬盘持久化存储 broker server 里的数据2.1 数据库存储2.1.1 浅谈SQLiteMyBatis 2.1.2 如何使用SQLite 2.2 文件存储 三、将broker server 里的数据存储在内存上四、使用DataBaseManager类…

机器视觉引导的多材料3D打印

3D打印机使用机器视觉来解决困扰3D喷墨打印机的问题&#xff0c;增加了可以使用的材料范围&#xff0c;并实现了机器人手等复杂物体的快速生产。 增材制造&#xff08;也称为 3D 打印&#xff09;的进步已经产生了越来越强大的能力&#xff0c;可以生产使用传统制造工艺无法制…

IT系统可观测性

什么是可观测性 可观测性&#xff08;Observability&#xff09;是指能够从系统的外部输出推断出系统内部状态的能力。在IT和云计算领域&#xff0c;它涉及使用软件工具和实践来收集、关联和分析分布式应用程序以及运行这些应用程序的硬件和网络产生的性能数据流。这样做可以更…

QT----基于QT的人脸考勤系统

目录 1 编译opencv库1.1 下载源代码1.2 qt编译opencv1.3 执行Cmake一直卡着data: Download: face_landmark_model.dat 2 编译SeetaFace2代码2.1 遇到报错By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has2.2遇到报错Model missing 3 测试…

Git——GitHub远端协作详解

目录 Git&GitHub1、将内容Push到GitHub上1.1、在GitHub上创建新项目1.2、upstream1.3、如果不想要相同的分支名称 2、Pull下载更新2.1、Fetch指令2.2、Fetch原理2.3、Pull指令2.4、PullRebase 3、为什么有时候推不上去3.1、问题复现3.2、解决方案一&#xff1a;先拉再推3.3…

kerberos验证协议安装配置使用

一、kerberos是什么 Kerberos 是一个网络身份验证协议&#xff0c;用于在计算机网络中进行身份验证和授权。它提供了一种安全的方式&#xff0c;允许用户在不安全的网络上进行身份验证&#xff0c;并获取访问网络资源的权限。 二、安装配置kerberos服务端 1、安装kerberos #检…

行尾检测论文汇总

文章目录 2023GNSS-Free End-of-Row Detection and Headland Maneuvering for Orchard Navigation Using a Depth Camera 2023 GNSS-Free End-of-Row Detection and Headland Maneuvering for Orchard Navigation Using a Depth Camera 摘要&#xff1a; 果园中基于GPS的导航…

Vue3学习日记 Day1

一、简介 1、简介 Vue3是新的默认版本&#xff0c;拥有更快的速度&#xff0c;更好的语法 二、使用create-vue搭建Vue3项目 1、创建项目 1、介绍 create-vue是Vue官方新的脚手架工具&#xff0c;底层切换为了vite&#xff0c;为开发提供极速响应 2、使用 2.1、确定环境条件 2…

共谋企业出海新篇章纷享销客荣获数字中国企业峰会“卓越成果奖”

3月9日&#xff0c;2024数字中国企业峰会在杭州西湖中维香溢大酒店成功举办&#xff0c;众多数字化领域专家、知名企业 CIO 代表到场。峰会旨在推动数字化转型与创新发展&#xff0c;为企业出海和国际合作搭建交流与合作的平台。本次峰会的颁奖环节&#xff0c;纷享销客凭借其卓…