mysql如何使用复制做灾备_mysql复制灾备配置方法

2次阅读

配置主从复制需准备两台mysql服务器,确保版本兼容、网络互通及主库开启binlog;2. 主库配置server-id、log-bin等参数,创建复制用户并记录SHOW MASTER STATUS的File和position;3. 从库设置server-id、relay-log等,导入主库数据后执行CHANGE MASTER TO指向主库,启动复制链路,实现数据实时同步与灾备。

mysql如何使用复制做灾备_mysql复制灾备配置方法

MySQL通过主从复制实现灾备是一种常见且高效的方式。它能将主库的数据实时同步到一个或多个从库,一旦主库出现故障,可快速切换到从库继续提供服务,保障业务连续性。下面介绍具体的配置方法和关键注意事项。

1. 确认主从服务器环境

灾备的基础是搭建主从复制架构。需要准备两台MySQL服务器:一台作为主库(Master),另一台作为从库(Slave)。

确保以下条件满足:

  • 主从服务器使用相同或兼容的MySQL版本
  • 网络互通,从库能访问主库的3306端口
  • 主库开启二进制日志(binlog),这是复制的核心

2. 配置主库(Master)

编辑主库的my.cnf(或my.ini)配置文件,添加以下内容:

[mysqld]
server-id=1
log-bin=mysql-bin
binlog-format=ROW
expire_logs_days=7

重启MySQL服务使配置生效。然后创建用于复制的账号:

CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘repl_password‘;
GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’;
FLUSH PRIVILEGES;

记录当前主库的binlog位置,用于从库初始化:

SHOW MASTER STATUS;

记下File和Position值,后续会用到。

3. 配置从库(Slave)

修改从库的配置文件

[mysqld]
server-id=2
relay-log=relay-bin
log-slave-updates=1
read-only=1

重启从库MySQL服务。导入主库当前数据(建议使用mysqldump):

mysql如何使用复制做灾备_mysql复制灾备配置方法

代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

mysql如何使用复制做灾备_mysql复制灾备配置方法 429

查看详情 mysql如何使用复制做灾备_mysql复制灾备配置方法

mysqldump -u root -p –all-databases –master-data=2 > backup.sql

将备份文件导入从库:

mysql -u root -p

在从库执行CHANGE MASTER命令,连接主库:

CHANGE MASTER TO
  MASTER_HOST=’主库IP’,
  MASTER_USER=’repl’,
  MASTER_PASSword=’repl_password’,
  MASTER_LOG_FILE=’mysql-bin.000001′,
  MASTER_LOG_POS=154;
START SLAVE;

其中MASTER_LOG_FILE和MASTER_LOG_POS使用之前SHOW MASTER STATUS的结果。

4. 验证复制状态与监控

查看从库复制是否正常运行:

SHOW SLAVE STATUSG

重点关注以下字段:

  • Slave_IO_Running: 应为Yes,表示IO线程正常拉取日志
  • Slave_SQL_Running: 应为Yes,表示SQL线程正常应用日志
  • Seconds_Behind_Master: 显示延迟秒数,应接近0

定期检查该状态,确保灾备链路稳定。

当主库发生故障时,可手动将从库提升为主库(执行STOP SLAVE; RESET SLAVE ALL;),并重新配置应用连接。也可结合MHA、Orchestrator等工具实现自动故障转移。

基本上就这些。关键是保证网络稳定、权限正确、数据一致,并做好定期演练。不复杂但容易忽略细节。

text=ZqhQzanResources