SQL 主从数据库实时备份

在SQL数据库中,主从复制(Master-Slave Replication)是一种常见的实时备份和高可用性解决方案。这种配置允许将一个数据库服务器(主服务器)的更改同步到一个或多个其他数据库服务器(从服务器),从而实现数据的实时备份和可用性提高。以下是一般步骤,用于在SQL数据库中设置主从复制:

  1. 配置主服务器:

-确保主服务器上已启用二进制日志(binary logging),这是记录对数据库的更改的一种机制。

-配置主服务器的`my.cnf`(或其他配置文件)以启用二进制日志和设置唯一的服务器ID。

ini

server_id = 1

log_bin = /var/log/mysql/mysql-bin.log

重启主服务器以应用配置。

  1. 创建用于复制的用户:

在主服务器上创建一个用于从服务器连接的用户,并为该用户分配复制权限。

sql

CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';

GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';

FLUSH PRIVILEGES;

  1. 获取主服务器的当前状态:
  • 在主服务器上运行以下命令,以获取主服务器的当前状态:

sql

SHOW MASTER STATUS;

记下输出中的文件名(File)和位置(Position),这将在配置从服务器时用到。

  1. 配置从服务器:

在从服务器上编辑`my.cnf`文件,配置从服务器的唯一服务器ID。

ini

server_id = 2

  • 重启从服务器以应用配置。
  1. 开始复制:

在从服务器上运行以下命令,以开始从主服务器复制数据:

sql

CHANGE MASTER TO

MASTER_HOST='master_ip',

MASTER_USER='replication_user',

MASTER_PASSWORD='password',

MASTER_LOG_FILE='master_log_file_from_master_status',

MASTER_LOG_POS=master_log_pos_from_master_status;

START SLAVE;

替换上述命令中的参数为主服务器的IP地址、创建的复制用户的用户名和密码以及从`SHOW MASTER STATUS;`获得的文件名和位置。

  1. 检查复制状态:

在从服务器上运行以下命令,以检查复制状态:

sql

SHOW SLAVE STATUS\G;

确保输出中的`Slave_IO_Running`和`Slave_SQL_Running`都显示为`Yes`,表示复制正在运行。

一旦配置完成,主从复制就建立起来了,主服务器上的更改将自动同步到从服务器上。这提供了实时备份和在主服务器故障时切换到从服务器的可能性,从而提高了系统的可用性。

相关推荐
nbsaas-boot4 小时前
SQL Server 存储过程开发规范(公司内部模板)
java·服务器·数据库
zgl_200537794 小时前
ZGLanguage 解析SQL数据血缘 之 Python + Echarts 显示SQL结构图
大数据·数据库·数据仓库·hadoop·sql·代码规范·源代码管理
acaad4 小时前
Redis下载与安装(Windows)
数据库·redis·缓存
玄〤4 小时前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
SunflowerCoder5 小时前
EF Core + PostgreSQL 配置表设计踩坑记录:从 23505 到 ChangeTracker 冲突
数据库·postgresql·c#·efcore
短剑重铸之日5 小时前
《7天学会Redis》Day2 - 深入Redis数据结构与底层实现
数据结构·数据库·redis·后端
Zoey的笔记本6 小时前
「支持ISO27001的GTD协作平台」数据生命周期管理方案与加密通信协议
java·前端·数据库
什么都不会的Tristan6 小时前
MybatisPlus-扩展功能
数据库·mysql
超级种码6 小时前
Redis:Redis 数据类型
数据库·redis·缓存
chirrupy_hamal7 小时前
PostgreSQL 中的“脏页(Dirty Pages)”是什么?
数据库·postgresql