前言

MySQL 主从复制(Master-Slave Replication)是一种常见的数据库架构设计,用于提高数据可用性、实现读写分离以及支持备份策略。
冷备份是指在数据库关闭状态下进行的数据备份方式。这种方式简单直接,但需要导致服务中断。
在数据库管理中,确保数据的高可用性和灾难恢复能力是至关重要的。MySQL 通过主从复制(Master-Slave Replication)和冷备份(Cold Backup)为用户提供了一套完整的解决方案

准备

1,分别在两台电脑上安装mysql(尽量保障mysql版本一样)。

PS:可以在一台电脑上弄,需要注意端口之类的。

2,安装后查看数据库的目录,本次演示使用默认安装。

  MySQL Server 程序文件的安装位置:

  此目录主要用于存放数据文件、配置文件以及日志文件等

主从部署

Master(主机)

1,打开服务找到对应的mysql服务进行关闭:

2,打开my.ini文件。在图中位置增加以下内容:

增加内容的意思是,一下这几个数据库会同步到从机上。

3,在master数据库中创建一个账号,用于给slave使用,因为slave需要连接到master,然后下载binlog,那么就必须给它分配一个账号,而且账号权限只能用于同步binlog。

运行如下sql语句:

CREATE USER 'slave'@'%' IDENTIFIED BY '123456';#创建新的账号,账号名称为slave,密码为123456
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%'; #赋予账号slave同步binlog的权限
FLUSH PRIVILEGES;#刷新一下

4,在主机的数据库中运行语句,记住返回的参数需要用。

show master status

 

Slave(从机)

1,同样停止服务并打开my.ini文件。修改增加以下内容:

注意这里的server-id不能重复

2,所有文件配置就ok了。修改之后重启mysql服务。

3,新增sql脚本,输入以下脚本,其中 master_log_file 和 master_log_pos 是主机的数据。stop slave;

#master服务器的ip地址
CHANGE MASTER TO master_host='192.168.1.100',
#第5步中创建的账号
master_user='slave',
#第5步中创建的密码
master_password='123456',
#上一步中的File
master_log_file='ECS-56099351-bin.000002',
#上一步中的Position
master_log_pos= 2840,
get_master_public_key=1;
start slave;

4,查看下线程状态。如果两个都是yes证明就可以了。

5,我们试着给master主机的db数据库中写入一些数据,发现从机中也是有的。

冷备份

1,同样需要把mysql的服务停掉。

2,我们找到数据文件夹中,把下面两个文件压缩打包备份。

3,把打包后的文件,解压到需要恢复的数据库目录中解压

4,打开server服务,然后我们使用新备份的账号密码登陆看一下恢复情况。

结语

需要注意的是,虽然主从复制能够大大提高系统的可用性,但并不能完全代替备份策略。合理结合使用冷备份等备份方法,才能更好地保护数据安全。

参考文献:

实战讲解mysql8主从复制(windows版) - 哔哩哔哩

MySql 主从(备)部署 | 冷备份的更多相关文章

  1. mysql主从模式部署

    1.下载tar.gz格式的安装包 下载地址https://dev.mysql.com/downloads/mysql/ 2.解压 tar -zvxf mysql-5.7.19-linux-glibc2 ...

  2. mysql主备部署[高可用]

    配置方案 master:192.168.99.61 service-id:61 slave:192.168.99.62 service-id:62同步账号:sync   同步密码:sync 主:192 ...

  3. Mysql主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录

    Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一 ...

  4. mysql主从同步(5)-同步延迟状态考量(seconds_behind_master和pt-heartbea)

    一般情况下,我们是通过"show slave status \G;"提供的Seconds_Behind_Master值来衡量mysql主从同步的延迟情况.具体说明见:mysql主从 ...

  5. mysql主备切换[高可用]

    到这一步的时候, 是主备部署已经处理好, 请关注:mysql主备部署[高可用] 这次使用的是keepalived-1.2.22.tar.gz版, 官网地址:keeplived官网 笼统知识请自行查询百 ...

  6. mysql主从从

    1.从官网下载安装percona-xtrabackup2.xtrabackup只能备份和恢复innodb的表,所以这里用innobackupex,可以实现对myisam和innodb的表在线备份和恢复 ...

  7. LVS+MYCAT+读写分离+MYSQL主备同步部署手册

    LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1  ...

  8. 【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)

    LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1  ...

  9. 在 CentOS7 上部署 MySQL 主从

    在 CentOS7 上部署 MySQL 主从 通过 SecureCRT 连接至 MySQL 主服务器: 找到 my.cnf 文件所在的目录: mysql --help | grep my.cnf 一般 ...

  10. 使用Percona Toolkit解决Mysql主从不同步问题【备忘】

    由于各种原因,mysql主从架构经常会出现数据不一致的情况出现,大致归结为如下几类 1:备库写数据 2:执行non-deterministic query 3:回滚掺杂事务表和非事务表的事务 4:bi ...

随机推荐

  1. 离线yum安装k8s(直接yum安装k8s)快速部署

    问题:如何在没有离线环境上服务器yum安装k8s环境? 环境:准备一台互联网的服务器+离线的服务器 写的比较简便........ 1.互联网服务操作添加阿里云YUM的软件源 cat > /etc ...

  2. resttemplate的ReadTimeout和ConnectTimeout

    问题描述:今天,在做微服务开发中,A服务区调用B服务,获取数据做导出excel操作.A服务出现了"java.net.SocketTimeoutException: Read timed ou ...

  3. Qt音视频开发33-vlc和mpv打开后鼠标打圈圈问题的解决

    一.前言 如果采用的vlc句柄模式,如果鼠标停留在句柄控件中会发现在打开后鼠标打圈圈,mpv句柄模式是在关闭后鼠标打圈圈,这两者真是一前一后,这种给人的体验其实很不友好的,播放开始后或者播放完成后鼠标 ...

  4. OpenWrt作为旁路由配置Wireguard 实现内网穿透

    0. 前言 因为最近一直在折腾软路由相关的系统及配置,也在家里整了一套k8s的环境,有一定需求需要在外面去连这套k8s的环境作为开发环境的补充,虽然可以通过外网端口暴露的方式访问,但是还是觉得不太方便 ...

  5. 11.14javaweb学习

  6. ant利用ivy从maven仓库下载项目所依赖的jar包默认的存储位置

    ant利用ivy从maven仓库下载项目所依赖的jar包默认的存储位置为: 当前登录系统的用户目录下(如"C:\Users\Administrator\.ivy2\cache"), ...

  7. 编译WorldWindJavav2.1.0中的ApplicationTemplate.java文件时有时报出“Exception in thread "main" java.lang.AbstractMethodError: javax.xml.parsers.DocumentBuilderFactory.setFeature(Ljava/lang/String;Z)V”错误的解决办法

    1 问题 编译WorldWindJavav2.1.0中的ApplicationTemplate.java文件时有时报出如下错误: Exception in thread "main" ...

  8. JDK 19 Virtual Threads 虚拟线程

    前言 Project Loom Loom 是什么? 为什么要引入 Loom? Virtual threads Platform thread 是什么? Virtual thread 是什么? Virt ...

  9. C++ STL学习笔记-C++ STL基础

    仅自己回忆使用,若有侵权,联系删除 algorithm实用库函数 sort:迭代器类型必须为随机访问迭代器(first,last),应该支持< 运算符,可以自己写比较 nth_element() ...

  10. Java并发容器详解,及使用场景

    并发容器的由来 在Java并发编程中,经常听到Java集合类,同步容器.并发容器,那么他们有哪些具体分类,以及各自之间的区别和优劣呢? 只有把这些梳理清楚了,你才能真正掌握在高并发的环境下,正确使用好 ...