第一阶段:环境初始化 (在两台机器上都执行)
目的:确保网络互通,关闭干扰服务。
配置主机名与解析
1 2 3 4 5 6 7 8 9 10# 在 101 上执行 hostnamectl set-hostname mysql-server && bash # 在 102 上执行 hostnamectl set-hostname backup-server && bash # 在两台机器都执行 cat >> /etc/hosts <<EOF 192.168.200.101 mysql-server 192.168.200.102 backup-server EOF[cite_start]关闭防火墙与 SELinux [cite: 11]
1 2 3 4# 两台机器都执行 systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
第二阶段:MySQL 主服务器部署 (操作节点:192.168.200.101)
目的:安装数据库,开启二进制日志(Binlog),配置 Rsync 服务端。
[cite_start]1. 安装与配置 MySQL [cite: 28-36]
| |
[cite_start]2. 修改配置文件 (开启 Binlog) [cite: 41-42]
这是之前导致你同步失败的关键点,必须配置。
vim /etc/my.cnf
| |
3. 启动并初始化数据库
| |
在 MySQL 中执行:
| |
[cite_start]4. 导入业务数据 [cite: 93-113]
| |
在 MySQL 中执行:
| |
[cite_start]5. 编写本地逻辑备份脚本 (修复语法错误版) [cite: 202-230]
mkdir -p /data/tools/backup_mysql_tools
mkdir -p /data/backup/mysql
vim /data/tools/backup_mysql_tools/backup_mysql.sh
| |
添加执行权限并测试:
| |
[cite_start]6. 配置 Rsync 服务端 [cite: 329-353]
yum install -y rsync
vim /etc/rsyncd.conf
| |
创建密码文件并启动:
| |
第三阶段:备份服务器配置 (操作节点:192.168.200.102)
目的:拉取逻辑备份和增量日志,并设置定时任务。
[cite_start]1. 基础配置与目录创建 [cite: 371-376]
| |
[cite_start]2. 配置密码文件 [cite: 379-381]
| |
[cite_start]3. 测试同步 (关键验证步骤) [cite: 383-391]
请依次执行,确保无报错:
测试 1:拉取逻辑备份(全量)
| |
(预期结果:成功传输 .tar.bz2 文件)
测试 2:拉取 Binlog(增量)
| |
(预期结果:成功传输 mysql-bin.000001 等文件。如果此时还报 chroot failed,请回到主服务器检查目录 /data/mysql/logs/mysql_binlog 是否存在且有权限)
[cite_start]4. 配置 Crontab 计划任务 [cite: 398-401]
使用标准追加命令,避免语法错误。
| |
验证清单
如果做完以上所有步骤,你的系统应满足:
- 101 主机:
/data/mysql/logs/mysql_binlog/下有mysql-bin.000001文件。 - 101 主机:
/data/backup/mysql/下有.tar.bz2备份包。 - 102 主机:手动执行
rsync命令时,不再报错,且能看到文件被拉取过来。 - 102 主机:
crontab -l中有两条定时的rsync任务。