加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL数据库从远程主机转储而没有临时文件

发布时间:2020-12-11 23:51:22 所属栏目:MySql教程 来源:网络整理
导读:我正在尝试在我的工作中实现数据库备份cron(其他解决方案欢迎)但我有一个小问题: 我有一个空间超过10GB的大型数据库,当前的vm没有空间将它存储在mysql创建的临时文件中. 我知道我可以将mysqldump与主机参数一起使用,但我的问题是,当这样做时,mysqldump生成

我正在尝试在我的工作中实现数据库备份cron(其他解决方案欢迎)但我有一个小问题:

我有一个空间超过10GB的大型数据库,当前的vm没有空间将它存储在mysql创建的临时文件中.

我知道我可以将mysqldump与主机参数一起使用,但我的问题是,当这样做时,mysqldump生成的临时文件会保留在运行它的机器上还是留在数据库服务器上?

更新:
我忘了提到我正在尝试备份一个网站网络,其中一些是在防火墙后面(需要VPN访问),有些需要服务器跳转才能到达数据库服务器. 最佳答案 您可以从存档主机运行shell脚本,您可以在其中使用数据库服务器交换无密码的ssh密钥.这使您可以直接通过ssh传输文件,而无需在远程数据库服务器上创建任何临时文件:

ssh -C myhost.com mysqldump -u my_user --password=bigsecret  
  --skip-lock-tables --opt database_name > local_backup_file.sql

显然,有一些方法可以在命令行上保护该密码,但这种方法可以完成您想要的任务.此方法的一个优点是它不需要存档主机访问远程主机上的端口3306.

This guy’s version很酷,因为它在通过网络传输之前还会动态压缩数据,然后在将数据加载到本地数据库之前将其解压缩.

ssh me@remoteserver 'mysqldump -u user -psecret production_database | 
  gzip -9' | gzip -d | mysql local_database

但这就是为什么我的版本使用ssh -C,它启用自己的压缩算法并避免额外的gzip管道.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读