一推网

当前位置: 首页 > 知识问答 > 如何实现MySQL的双机热备份?

知识问答

如何实现MySQL的双机热备份?

2025-09-21 15:43:25 来源:互联网转载
MySQL双机热备份试验是一种用于确保数据高可用性和容灾能力的技术,通过配置两台服务器互相备份,实现数据的实时同步。

MySQL双机热备份是一种高可用性和灾难恢复策略,通过实时同步主数据库的数据到备用数据库来确保业务连续性,本文将详细介绍在Windows环境下使用MySQL 8.0.21版本进行双机热备份的实验过程,包括环境准备、账号设置、配置文件修改、服务状态检查以及数据同步测试等步骤。

试验环境

操作系统:VMware虚拟机环境,Window 7 操作系统

数据库工具软件:Navicat Premium 15

服务器配置:两台安装MySQL的服务器(计算机)分别是:

服务器A:IP地址为192.168.229.131

服务器B:IP地址为192.168.229.132

需要同步的数据库名:mytest

试验目的

学习、测试Windows下的MySQL双机热备是否可行。

准备数据库

在两台服务器上分别建立空白数据库:

CREATE DATABASE mytest;

准备账号

在两台服务器上分别建立账号syn(账号名字随意):

 在服务器A上执行CREATE USER 'syn'@'192.168.229.132' IDENTIFIED BY '123456';grant REPLICATION SLAVE ON *.* TO 'syn'@'192.168.229.132'; 在服务器B上执行CREATE USER 'syn'@'192.168.229.131' IDENTIFIED BY '123456';grant REPLICATION SLAVE ON *.* TO 'syn'@'192.168.229.131';

修改配置文件

分别修改服务器A和服务器B的配置文件my.ini,在配置文件最后添加以下代码:

服务器A配置

serverid=1logbin=backuplogsync_binlog=1binlog_format=rowauto_increment_increment = 2auto_increment_offset = 1max_binlog_size=512mexpire_logs_days=1binlog_do_db=mytestbinlog_ignore_db=mysqlbinlog_ignore_db=information_schemareplicate_do_db=mytestreplicate_wild_ignore_table=mytest.logslave_skip_errors=all

服务器B配置

serverid=2logbin=backuplogsync_binlog=1binlog_format=rowauto_increment_increment = 2auto_increment_offset = 2max_binlog_size=512mexpire_logs_days=1binlog_do_db=mytestbinlog_ignore_db=mysqlbinlog_ignore_db=information_schemareplicate_do_db=mytestreplicate_wild_ignore_table=mytest.logslave_skip_errors=all

重启服务器

修改完毕后,分别重启服务器。

net stop mysqlnet start mysql

检查master服务状态

重启完毕后,分别检查服务器上mysql服务的状态。

SHOW MASTER STATUS\G;

指定同步位置

CHANGE MASTER TO命令指定同步位置,在服务器A和服务器B上分别执行以下命令:

服务器A

STOP SLAVE;CHANGE MASTER TO MASTER_HOST='192.168.229.132', MASTER_USER='replicate', MASTER_PASSWORD='123456', MASTER_LOG_FILE='backuplog.000001', MASTER_LOG_POS=0;START SLAVE;

服务器B

STOP SLAVE;CHANGE MASTER TO MASTER_HOST='192.168.229.131', MASTER_USER='replicate', MASTER_PASSWORD='123456', MASTER_LOG_FILE='backuplog.000001', MASTER_LOG_POS=0;START SLAVE;

检查slave服务状态

SHOW SLAVE STATUS\G;

Slave_IO_RunningSlave_SQL_Running两项的结果都必须为Yes,才表示设置从服务器成功,如果不是,则需要检查Last_IO_ErrnoLast_IO_Error两项。

测试

建表测试

在服务器A建表created_by_a

CREATE TABLE created_by_a (id INT PRIMARY KEY, name VARCHAR(50));

插入数据测试

在服务器A插入数据:

insert INTO created_by_a (name) VALUES ('Test');

删除数据

在服务器A删除数据:

delete FROM created_by_a;

更新数据

在服务器A更新数据:

update created_by_a SET name = 'Updated Test' WHERE id = 1;

关闭服务器B后测试

关闭服务器B,然后再次尝试插入数据:

 在服务器A上插入数据insert INTO created_by_a (name) VALUES ('Test after B down');

通过上述步骤,可以验证MySQL双机热备份的可靠性和稳定性,确保在主服务器故障时备服务器能够正确接管并保持数据的完整性,如果所有测试都成功通过,说明双机热备配置正确且有效。

序号 操作步骤 描述 备注
1 安装MySQL 在两台服务器上安装相同的MySQL版本 确保两台服务器硬件和软件环境一致
2 创建主数据库 在主服务器上创建需要备份的数据库 确保数据库数据完整
3 配置主数据库 在主数据库中配置主从***相关参数 包括主从同步的***用户、密码等
4 配置从数据库 在从数据库中配置主从***相关参数 包括设置主数据库的IP地址和端口
5 启动主从*** 在主数据库上执行start slave命令,在从数据库上执行start slave命令 确保主从***正常运行
6 检查主从***状态 分别在主数据库和从数据库上执行show slave statusG命令,检查主从***状态 确保没有错误信息
7 停止主数据库服务 在主数据库服务器上停止MySQL服务 为了模拟主数据库故障
8 启动从数据库服务 在从数据库服务器上启动MySQL服务 为了模拟主数据库故障后的切换
9 检查从数据库状态 在从数据库服务器上执行show slave statusG命令,检查主从***状态 确保从数据库已经接管主数据库的***任务
10 恢复主数据库服务 在主数据库服务器上启动MySQL服务 为了完成主从***测试
11 检查主从***状态 分别在主数据库和从数据库上执行show slave statusG命令,检查主从***状态 确保主从***恢复正常
12 删除从数据库中的数据 在从数据库中删除主数据库中的数据 为了模拟数据恢复
13 恢复从数据库数据 将主数据库中的数据***到从数据库 为了完成数据恢复测试
14 检查数据一致性 比较主数据库和从数据库中的数据 确保数据恢复无误
15 关闭从数据库服务 在从数据库服务器上停止MySQL服务 为了完成主从***测试
16 恢复主数据库服务 在主数据库服务器上启动MySQL服务 为了完成主从***测试
17 检查主从***状态 分别在主数据库和从数据库上执行show slave statusG命令,检查主从***状态 确保主从***恢复正常
18 完成测试 所有测试步骤完成后,完成MySQL双机热备份试验

上一篇:三维家和酷家乐效果图哪个好(三维家和酷家乐哪个好用)

下一篇:网站制作与医疗服务构建在线咨询新生态