MySql 主从(备)部署 | 冷备份

前言

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版) - 哔哩哔哩

相关推荐
.NET修仙日记7 天前
SQL Server实战指南:从基础CRUD到高并发处理的完整面试题库
面试·职场和发展·c#·.net·sql server·.net全栈经典面试题库
黑夜管理员9 天前
Sql Server安装报错“服务没有及时响应启动或控制请求”
数据库·sql server
YoungUpUp2 个月前
【SQL Server 2022】保姆级SQL Server 详细图文下载安装教程
数据库·sql·sqlserver·sql server·sql server数据库·sql server 2022·sql 数据库
叶甯2 个月前
【SqlServer】SqlServer常用日期操作
数据分析·sql server
全栈小52 个月前
【数据库】Sql Server数据库中isnull、iif、case when三种方式的使用和空值判断
数据库·sql server
专注VB编程开发20年2 个月前
数据库提速-在 VB6 中使用 Claude Code 进行 DAO 到 ADO 迁移,Access转SQL SERVER
前端·数据库·ui·sql server·access
Yn3122 个月前
DBeaver连接SQL Server时添加驱动后仍提示找不到驱动的解决方法
sql server·dbeaver
安心落意2 个月前
SQL Server 2019搭建AlwaysOn高可用集群
sql server·数据库集群·数据库高可用·alwayson
全栈小53 个月前
【数据库】使用Sql Server创建索引优化查询速度,一般2万多数据后,通过非索引时间字段排序查询出现超时情况
数据库·sql server·索引·查询优化
nbsaas-boot3 个月前
SQL Server 窗口函数全指南(函数用法与场景)
开发语言·数据库·python·sql·sql server