MySQL远程备份推荐使用mysqldump与SSH结合的方式,通过加密通道将本地数据库导出并直接传输至远程服务器,命令为:mysqldump -u 用户名 -p密码 -h 本地地址 数据库名 | ssh 远程用户@远程IP "cat > /path/to/backup.sql",无需开启MySQL远程访问,安全性高;也可先用mysqldump生成本地文件,再通过scp传输,便于校验,适合大数据库或网络不稳定场景;若需远程直连备份,须配置MySQL允许远程连接、授权用户及开放防火墙端口,但存在安全风险,建议仅用于内网或启用SSL;为实现自动化,可结合crontab定时执行备份脚本,如每天凌晨2点运行备份命令,确保数据持续保护,同时应定期清理旧备份以防存储溢出。

MySQL远程备份的核心在于通过安全、稳定的方式将本地数据库导出并传输到远程服务器。最常用的方法是结合mysqldump与SSH或scp进行操作,既能保证数据完整性,又能避免直接暴露数据库端口。
这种方法无需开启MySQL的远程访问,利用SSH加密通道完成数据导出和传输,安全性高,适合大多数生产环境。
执行命令如下:
mysqldump -u [用户名] -p[密码] -h [本地MySQL地址] [数据库名] | ssh [远程用户]@[远程IP] "cat > /path/to/backup.sql"
说明:
[用户名]替换为数据库登录用户,如root-p后直接跟密码(无空格),也可留空在执行时手动输入[本地MySQL地址]通常为localhost或127.0.0.1[数据库名]填写需要备份的具体数据库名称ssh将输出重定向到远程服务器指定路径例如:
mysqldump -u root -pmypassword -h localhost mydb | ssh user@192.168.1.100 "cat > /backup/mydb_$(date +%F).sql"
该命令会把本地mydb数据库备份,并以日期命名保存到远程服务器的/backup/目录下。
如果希望分步操作,可先在本地生成SQL文件,再通过scp上传到远程服务器。
步骤如下:
mysqldump -u 用户名 -p密码 数据库名 > /local/path/backup.sql scp /local/path/backup.sql user@远程IP:/remote/path/
优点是便于校验本地文件后再上传,适合大数据库或网络不稳定环境。
若需从远程机器直接连接并备份本地MySQL,需确保:
bind-address或注释掉)GRANT ALL ON *.* TO 'user'@'%' IDENTIFIED BY 'password';)然后在远程机器运行:
mysqldump -u 用户名 -p密码 -h 本地IP 数据库名 > backup.sql
此方式风险较高,建议仅在内网或配合SSL加密时使用。
结合Linux的crontab可实现自动定时备份。
编写脚本backup_mysql.sh:
#!/bin/bash mysqldump -u root -pmypassword mydb | ssh user@192.168.1.100 "cat > /backup/mydb_$(date +\%F).sql"
添加执行权限并写入定时任务:
chmod +x backup_mysql.sh crontab -e # 添加:0 2 * * * /path/to/backup_mysql.sh # 每天凌晨2点执行
基本上就这些。推荐优先使用mysqldump + SSH管道方式,安全高效,不占用本地磁盘空间。注意定期清理旧备份,防止存储溢出。
以上就是mysql如何进行远程备份_mysql远程备份方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号