前言

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. K8S学习笔记之卸载K8S集群

    阅读目录 0x00 概述 0x01  操作 0x00 概述 有时候需要卸载已安装在本机的K8S服务和服务,本文卸载的K8S面向使用kubeadm或者二进制方法安装的,不涉及使用rpm包安装的集群: 主 ...

  2. 抛出 NoClassDefFoundError: javax/validation/constraints/Size 问题的解决方法

    Error:java: java.lang.NoClassDefFoundError: javax/validation/constraints/Size 问题很明显,找不到相关类.我们可以在 pom ...

  3. RedisTemplate配置的jackson.ObjectMapper里的一个enableDefaultTyping方法过期解决

    1.前言 最近升级SpringBoot,从2.1.6版本升级到2.2.6版本,发现enableDefaultTyping方法过期过期了. 该方法是指定序列化输入的类型,就是将数据库里的数据安装一定类型 ...

  4. 生产环境Sentinel改造实践(一):Sentinel核心概念

    一.前言 本文主要是对sentinel-dashboard源码进行改造,用在生产环境保障其高可用,主要改造点如下: 接入nacos支持规则管理及推送 监控数据存入influxDb,后续可开发对应的监控 ...

  5. Solution -「LNOI 2022」「洛谷 P8367」盒

    \(\mathscr{Desription}\)   Link.   有 \(n\) 个盒子排成一排,第 \(i\) 个盒子内有 \(a_i\) 个球.球可以在相邻盒子间传递,\(i\) 与 \(i+ ...

  6. ElasticSearch入门 第二篇

    集群配置----------------------------- ElasticSearch共有两个配置文件,都位于config目录下,分别是elasticsearch.yml和logging.ym ...

  7. biancheng-数据结构

    目录http://c.biancheng.net/data_structure/ 1数据结构入门2线性表3栈和队列4字符串5数组和广义表6树存储结构7图存储结构8动态内存管理9查找表结构10排序算法1 ...

  8. System类、Math类、BigInteger与BigDecimal的使用

     System类代表系统,系统级的很多属性和控制方法都放置在该类的内部.该类位于java.lang包. 由于该类的构造器是private的,所以无法创建该类的对象,也就是无法实例化该类.其内部的成 ...

  9. Oracle数据库只能127.0.0.1连接,无法局域网远程通过IP访问

    今天使用Oracle时遇到一个问题,连接字符串中IP配置成127.0.0.1时可能正常访问数据库,当配置成实际IP地址时连接数据库失败.然后 telnet IP 1521 失败. 解决方案: 1. 打 ...

  10. P6108 [Ynoi2009] rprsvq 积分题解

    给 EI 题解写注 qwq.. 化简方差: \[\frac{1}{n}\sum(a_i-\overline a)^2\\ =\frac{1}{n}(\sum a_i^2-2\overline {a}\ ...