我设置了主/从 MySQL 服务器。我担心的是,如果主数据库被黑客入侵,黑客删除表或完全删除数据库,则所有更改都会传播到从属服务器,并在那里将其删除。
如果不使用延迟,有什么好方法可以防止黑客破坏我的从属数据库?
答案1
当您想要为您的 Web 应用程序或网站创建一个容错后端数据库时,MySQL 主/从设置会非常适合。
如果主数据库发生故障,则可以切换应用程序以使用从属数据库。因此,这种方法只能在托管主数据库的服务器发生硬件或软件故障时作为灾难恢复解决方案
但是,就像您提到的那样,如果黑客从主数据库中删除数据,那么从属数据库很快就会发现这些更改。
为了安全起见,我建议您在从服务器上创建数据库的自动备份。您可以使用类似自动mysql备份。
有了备份,您可以从从属日志中将数据库恢复到其原始状态。
如果您希望设计自己的自定义备份工具,请确保包含备份数据库的时间戳,以便您能够识别最近的备份。
此外,如果您觉得自己没有时间为应用程序构建安全且容错的数据库集群,我建议您选择 ApsaraDB 等自托管 MySQL 解决方案。使用此类解决方案,您的数据库可免受 DDoS、SQL 注入和暴力攻击。
我希望这有帮助。
答案2
从您的应用程序中删除过多的权限。除非您可以安全地删除该权限,否则这可能无法防止“DELETE FROM table”;
因此,请将备份作为时间点快照(mysqldump --single-transaction / lvm / xtrabackup),并保存二进制日志位置。保存二进制日志文件(映射到记录,注意主/中继日志不同)并确保 binlog 未被清除。
测试将二进制日志应用到指定点的恢复过程,以确保在需要使用时获得正确的信息和程序。