返回

高效搭建双 M 结构 MySQL 主从备份指南

后端

双 M 结构 MySQL 主从备份的优势和局限性

优势

  • 提高数据安全性:双 M 结构通过主从复制实现数据冗余,即使主数据库出现故障,也可以从从数据库中恢复数据,确保数据的安全性。
  • 负载均衡:双 M 结构可以通过合理配置,将读写操作分布到主从数据库,从而实现负载均衡,提高数据库的整体性能。
  • 方便维护:双 M 结构便于维护,可以单独维护主数据库和从数据库,而不会影响数据库的整体运行。

局限性

  • 复杂性:双 M 结构比一主一从结构更复杂,需要更多的时间和精力来搭建和维护。
  • 成本较高:双 M 结构需要两台数据库服务器,因此成本比一主一从结构更高。
  • 潜在的数据不一致性:如果主从数据库之间出现网络中断或延迟,可能会导致数据不一致性。

如何搭建双 M 结构 MySQL 主从备份

准备工作

  • 确保您有两台具有相同 MySQL 版本和配置的服务器。
  • 在两台服务器上安装 MySQL。
  • 在主服务器上创建要复制的数据库。

配置主服务器

  1. 打开 MySQL 配置文件 my.cnf。
  2. 在 [mysqld] 部分添加以下配置:
server-id=1
log-bin=mysql-bin
binlog-do-db=test
  • server-id 设置为主数据库的唯一标识符。
  • log-bin 设置为 mysql-bin,以启用二进制日志记录。
  • binlog-do-db 设置为要复制的数据库名称。

配置从服务器

  1. 打开 MySQL 配置文件 my.cnf。
  2. 在 [mysqld] 部分添加以下配置:
server-id=2
replicate-do-db=test
  • server-id 设置为从数据库的唯一标识符。
  • replicate-do-db 设置为要复制的数据库名称。

启动 MySQL 服务

在两台服务器上启动 MySQL 服务。

创建复制用户

在主服务器上创建复制用户。

CREATE USER 'repl'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

配置复制

在主服务器上配置复制。

CHANGE MASTER TO MASTER_HOST='192.168.1.10', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_PORT=3306;
START SLAVE;
  • MASTER_HOST 设置为主服务器的 IP 地址或主机名。
  • MASTER_USER 设置为复制用户的用户名。
  • MASTER_PASSWORD 设置为复制用户的密码。
  • MASTER_PORT 设置为主服务器的端口号。

验证复制

在从服务器上验证复制是否正常工作。

SHOW SLAVE STATUS\G;

如果输出结果中的 Slave_IO_RunningSlave_SQL_RunningYes,则表示复制正在正常工作。

维护双 M 结构 MySQL 主从备份

定期备份

定期备份主服务器和从服务器的数据,以确保数据安全。

监控复制状态

使用监控工具或脚本监控复制状态,以确保复制正在正常工作。

定期检查二进制日志

定期检查主服务器的二进制日志,以确保没有错误或损坏。

定期优化数据库

定期优化主服务器和从服务器的数据库,以提高数据库的性能。