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`,表示复制正在运行。

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

相关推荐
搬码后生仔31 分钟前
SQLite 是一个轻量级的嵌入式数据库,不需要安装服务器,直接使用文件即可。
数据库·sqlite
码农君莫笑32 分钟前
Blazor项目中使用EF读写 SQLite 数据库
linux·数据库·sqlite·c#·.netcore·人机交互·visual studio
江上挽风&sty34 分钟前
【Django篇】--动手实践Django基础知识
数据库·django·sqlite
张伯毅38 分钟前
Flink SQL 支持 kafka 开启 kerberos 权限控制.
sql·flink·kafka
向阳121838 分钟前
mybatis 动态 SQL
数据库·sql·mybatis
胡图蛋.39 分钟前
什么是事务
数据库
小黄人软件42 分钟前
20241220流水的日报 mysql的between可以用于字符串 sql 所有老日期的,保留最新日期
数据库·sql·mysql
青莳吖44 分钟前
Java通过Map实现与SQL中的group by相同的逻辑
java·开发语言·sql
张声录11 小时前
【ETCD】【实操篇(三)】【ETCDCTL】如何向集群中写入数据
数据库·chrome·etcd
无为之士1 小时前
Linux自动备份Mysql数据库
linux·数据库·mysql