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

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

相关推荐
钝挫力PROGRAMER9 分钟前
开发踩坑记:MyBatis selectKey、空 SQL
数据库·sql·mybatis
JosieBook16 分钟前
【数据库】MySQL 实战精通系列 · 第6篇:InnoDB 存储引擎、日志与崩溃恢复
数据库·mysql
杨云龙UP1 小时前
TDengine 3.4.2.8 Community 三节点三副本生产集群部署实战(DNode/MNode/taosAdapter/Explorer)
大数据·linux·运维·数据库·tdengine·时序库
梦帮科技1 小时前
领域认知知识库图谱注入:从双式记账图网络到高质量问答对自动化合成流水线
运维·网络·数据库·人工智能·矩阵·架构·自动化
Long long ago.1 小时前
vastbase数据库运行sql宕机重启解决
数据库·sql
SelectDB技术团队2 小时前
一条日志两套引擎的账:把 Elasticsearch 检索与分析合并到同一份数据的落地写法
大数据·数据库·elasticsearch·搜索引擎·全文检索·日志·apache doris
数据库百宝箱2 小时前
rum&gin索引对比
java·数据库·gin
wefg13 小时前
【Redis】初识 Redis
数据库·redis·缓存
hacker_LeeFei5 小时前
Windows 下配置 Redis 8.10.2 开机自启:一次踩坑全记录
数据库·windows·redis
这个DBA有点耶5 小时前
MySQL字符集与排序规则深入:索引失效的隐蔽场景与排查方法
数据库·mysql·代码规范