使用mysqldump+scp、主从复制、XtraBackup或脚本定时任务可实现MySQL跨服务器备份,根据数据量和停机容忍度选择合适方案,推荐结合SSH密钥与权限隔离保障安全。
MySQL本身不直接支持跨服务器的自动备份功能,但可以通过多种方式实现跨服务器数据备份。以下是几种常见且实用的方法。
这是最常用的方式之一,适用于中小型数据库。
操作步骤:
示例命令:
mysqldump -u用户 -p密码 --single-transaction --routines --triggers --databases db_name | gzip > /backup/db_backup.sql.gz适合需要实时或近实时备份的场景。
实现逻辑:
注意开启log-bin和server-id,并使用CHANGE MASTER TO配置复制关系。
适合大容量、要求不停机备份的场景。
特点:
示例流程:
innobackupex --stream=xbstream /backup/dir | ssh user@目标IP "cat - > /back
up/backup.xb"
将上述方法封装成脚本,通过cron定期执行。
建议包含:
基本上就这些。选择哪种方式取决于你的数据量、停机容忍度和网络环境。小数据量用mysqldump最简单,大数据建议XtraBackup或主从复制。安全方面记得设置好SSH密钥认证和数据库权限隔离。