依星源码资源网,依星资源网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

【好消息,好消息,好消息】VIP会员可以发表文章赚积分啦 !
查看: 3|回复: 0

如何同步A、B、C三台服务器上的文件,这些文件的信息存储在MySQL数据库中

[复制链接] 主动推送

1万

主题

1万

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
14134
发表于 7 小时前 | 显示全部楼层 |阅读模式
如何同步A、B、C三台服务器上的文件,这些文件的信息存储在MySQL数据库中
在Windows Server 2019系统下实现三台服务器(A、B、C)之间的文件同步,同时文件列表数据存储在MySQL中。之前用户已经给出了基于Linux的解决方案,现在需要调整为适用于Windows环境的方案,并且要结合提供的搜索结果中的相关信息。

首先,我需要回顾之前的回答,看看哪些部分需要调整。之前提到了rsync+inotify的组合,但这是在Linux下的工具。Windows下可能需要替代方案。搜索结果中提到了rsync的Windows版本,比如[cwRsync]‌,还有使用分布式文件系统如DFS‌,以及云存储或同步软件如Resilio Sync‌。此外,用户提到MySQL的数据同步,之前用的是主主环形同步,但在Windows下可能需要调整配置,同时考虑使用MySQL自带的工具或者第三方同步方案。

接下来,结合用户提供的搜索结果,特别是‌提到了rsync在Windows下的安装和使用,‌提到了分布式文件系统DFS,‌和‌提到了文件同步软件。因此,文件同步部分可以推荐使用DFS或者cwRsync+inotify的替代方案,比如使用Windows自带的DFS服务,或者第三方工具如Syncthing或Resilio Sync。

对于数据库同步,Windows下的MySQL配置主从或主主同步与Linux类似,但需要注意路径和服务的配置差异。同时,可以使用MySQL Workbench来管理同步设置,或者通过修改my.ini配置文件。此外,确保时间同步,可能需要配置Windows Time服务‌。

文件元数据联动部分,仍然可以通过触发器记录变更,但需要确认Windows下的MySQL是否支持同样的触发器语法。状态同步校验可以使用PowerShell脚本替代bash脚本,调用md5sum或其他校验工具。

异常处理方面,冲突解决策略可能需要调整,比如DFS的冲突处理机制,或者同步软件自带的功能。断点续传在cwRsync中同样支持,但参数可能需要调整。

还需要考虑Windows防火墙设置,允许相关端口(如873用于rsync,3306用于MySQL)的通信。同时,权限管理方面,确保服务账户有足够的权限访问共享文件夹和数据库。

最后,结构化回答需要分模块,结合引用来源,比如文件同步部分引用‌,数据库同步引用‌,元数据联动引用‌,异常处理引用‌等。确保每个部分都有对应的角标引用,并且不重复引用同一来源过多。

需要验证每个推荐方案是否适用于Windows Server 2019,比如DFS是否在2019中可用,cwRsync的兼容性,以及推荐的同步软件是否支持Windows系统。同时,考虑用户的实际环境,是否有额外的限制,如网络带宽、文件大小等,可能需要调整同步策略,比如定时同步而非实时,以减少资源占用。

总结下来,步骤大致如下:

文件同步方案‌:

使用DFS实现多服务器文件同步‌。
或使用cwRsync+Watchman(替代inotify)实现实时同步‌。
第三方同步软件如Resilio Sync或Syncthing‌。

数据库同步‌:

配置MySQL主主复制,调整my.ini配置‌。
使用Windows Task Scheduler定时备份和恢复‌。

元数据联动‌:

创建MySQL触发器记录变更,触发同步脚本‌。

异常处理‌:

DFS的冲突解决机制‌。
同步软件的版本控制和断点续传‌。

其他配置‌:

防火墙和权限设置‌。
时间同步配置Windows Time服务‌。

需要确保每个建议都有对应的引用来源,并且方案之间互补,避免单点故障。同时,考虑到用户是Windows环境,尽量使用内置工具或广泛认可的第三方软件,确保稳定性和支持性。

Windows Server 2019 环境下的三服务器文件同步方案
一、文件同步实现方案

分布式文件系统(DFS)部署‌

利用Windows内置的 ‌DFS命名空间和复制组‌ 功能,创建跨服务器的统一文件访问入口,支持多服务器文件自动同步‌。
配置步骤:
在服务器管理器中安装 ‌DFS命名空间‌ 和 ‌DFS复制‌ 角色
创建命名空间并添加三台服务器作为目标
设置复制组,选择双向同步模式并配置同步计划

rsync增强方案(cwRsync + 监控工具)‌

使用 ‌cwRsync(Windows版rsync)‌ 实现增量同步,配合 ‌Windows File System Watcher‌ 或第三方工具(如 ‌Syncthing‌)监听文件变动‌。
同步命令示例(PowerShell):
powershell
Copy Code
cwRsync.exe -avz --delete "D:\files\" user@B:/data/files/ --chmod=ugo=rwX ‌:ml-citation{ref="1" data="citationList"}

定时任务配置:通过 ‌Windows任务计划程序‌ 设置每15分钟自动同步‌。

第三方同步工具选型‌

Resilio Sync‌:支持P2P加密传输,可绕过中心服务器实现直接同步‌。
FreeFileSync‌:提供可视化界面,支持实时镜像同步和版本保留策略‌。
二、MySQL数据同步配置

主从复制环形架构‌

修改 my.ini 配置:
ini
Copy Code
server-id = 1  # 各服务器ID不同(1/2/3)
log-bin = mysql-bin
binlog-do-db = file_metadata_db
auto-increment-increment = 3  # 自增步长‌:ml-citation{ref="2" data="citationList"}
auto-increment-offset = 1     # 各服务器偏移值不同(1/2/3)

通过 ‌MySQL Workbench‌ 配置双向复制关系,启用 ‌GTID模式‌ 保障事务一致性‌。

备份与恢复策略‌

使用 ‌mysqldump‌ 每日全量备份:
bat
Copy Code
mysqldump -u root -p file_metadata_db > C:\backup\full_%date%.sql ‌:ml-citation{ref="5" data="citationList"}

通过 ‌Windows任务计划程序‌ 自动执行备份文件同步至其他服务器。
三、文件与数据库联动

元数据触发同步‌

创建数据库触发器,当文件列表变更时记录操作日志:
sql
Copy Code
CREATE TRIGGER sync_trigger AFTER INSERT ON file_list  
FOR EACH ROW EXECUTE PROCEDURE call_sync_script(); ‌:ml-citation{ref="1" data="citationList"}

调用PowerShell脚本启动文件同步任务。

一致性校验机制‌

编写PowerShell脚本比对文件哈希值与数据库记录:
powershell
Copy Code
Get-FileHash D:\files\* -Algorithm MD5 | Export-Csv hashes.csv ‌:ml-citation{ref="3" data="citationList"}

每日自动生成校验报告并邮件告警异常。
四、关键配置与优化

网络与权限配置‌

开放防火墙端口:
文件同步:TCP 873(rsync)、445(SMB/DFS)‌
数据库:TCP 3306
设置专用同步账户并限制权限为 ‌仅文件读写和数据库操作‌ ‌。

性能优化‌

DFS复制组启用 ‌差异压缩‌ 和 ‌带宽限制‌(避免高峰时段占用过高)‌
MySQL配置 sync_binlog=1 和 innodb_flush_log_at_trx_commit=1 保障数据安全‌。
五、异常处理与监控

冲突解决策略‌

DFS默认采用 ‌“最新修改时间”覆盖旧文件‌,可通过命名规则(如追加用户ID)避免多人编辑冲突‌。
MySQL主键冲突通过 ‌自增偏移配置‌ 规避‌。

监控方案‌

使用 ‌Windows性能监视器‌ 跟踪DFS复制队列积压情况‌
部署 ‌Zabbix‌ 或 ‌Prometheus‌ 监控MySQL复制延迟和同步状态‌。

注:需确保三台服务器时间同步(配置 ‌Windows Time服务‌ 指向同一NTP服务器)‌。建议首次同步前进行小规模测试验证网络吞吐量及配置有效性‌。

相关帖子

扫码关注微信公众号,及时获取最新资源信息!下载附件优惠VIP会员6折;永久VIP4折
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明:
1、本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
2、本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿任何商业目的与商业用途。
3、若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
4、论坛的所有内容都不保证其准确性,完整性,有效性,由于源码具有复制性,一经售出,概不退换。阅读本站内容因误导等因素而造成的损失本站不承担连带责任。
5、用户使用本网站必须遵守适用的法律法规,对于用户违法使用本站非法运营而引起的一切责任,由用户自行承担
6、本站所有资源来自互联网转载,版权归原著所有,用户访问和使用本站的条件是必须接受本站“免责声明”,如果不遵守,请勿访问或使用本网站
7、本站使用者因为违反本声明的规定而触犯中华人民共和国法律的,一切后果自己负责,本站不承担任何责任。
8、凡以任何方式登陆本网站或直接、间接使用本网站资料者,视为自愿接受本网站声明的约束。
9、本站以《2013 中华人民共和国计算机软件保护条例》第二章 “软件著作权” 第十七条为原则:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。若有学员需要商用本站资源,请务必联系版权方购买正版授权!
10、本网站如无意中侵犯了某个企业或个人的知识产权,请来信【站长信箱312337667@qq.com】告之,本站将立即删除。
郑重声明:
本站所有资源仅供用户本地电脑学习源代码的内含设计思想和原理,禁止任何其他用途!
本站所有资源、教程来自互联网转载,仅供学习交流,不得商业运营资源,不确保资源完整性,图片和资源仅供参考,不提供任何技术服务。
本站资源仅供本地编辑研究学习参考,禁止未经资源商正版授权参与任何商业行为,违法行为!如需商业请购买各资源商正版授权
本站仅收集资源,提供用户自学研究使用,本站不存在私自接受协助用户架设游戏或资源,非法运营资源行为。
 
在线客服
点击这里给我发消息 点击这里给我发消息 点击这里给我发消息
售前咨询热线
312337667

微信扫一扫,私享最新原创实用干货

QQ|免责声明|小黑屋|依星资源网 ( 鲁ICP备2021043233号-3 )|网站地图

GMT+8, 2025-3-12 17:17

Powered by Net188.com X3.4

邮箱:312337667@qq.com 客服QQ:312337667(工作时间:9:00~21:00)

快速回复 返回顶部 返回列表