首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mysqldump备份远程数据库

使用mysqldump备份远程数据库
EN

Server Fault用户
提问于 2015-11-18 17:20:21
回答 1查看 6.6K关注 0票数 0

我正试图实现一种快速的方法来做备份,并下载一个远程mysql数据库到我的本地计算机,只使用终端。远程服务器使用ssh密钥进行身份验证。我可以通过在终端上运行七个顺序命令来完成这一任务,其中一些在服务器上执行,另一些在本地机器上执行:

1)使用ssh键连接到远程服务器;2)将数据库转储到远程目录;3)从服务器注销;4)将备份下载到我的本地计算机;5)再次连接到服务器;6)从远程目录中删除备份;7)注销。

代码语言:javascript
复制
#1 ssh -i my_rsa_key my_user@my_domain.tld
#2 mysqldump -u my_db_user -pmy_db_password my_db > my_path_to_backup_directory/backup.sql
#3 logout
#4 rsync -chavzP -e 'ssh -i my_rsa_key -C -c blowfish' my_user@my_domain.tld:/my_path_to_backup_directory/backup.sql  /my_path_to_local_directory
#5 ssh -i my_rsa_key my_user@my_domain.tld
#6 rm my_path_to_backup_directory/backup.sql
#7 logout

问题1:这个工作流可以吗?还是有一种“更干净”的方法?问题2:我能否在一个批处理中自动执行这些命令,只需在终端中输入一个命令,并完成所有七个步骤?我已经尝试过用

代码语言:javascript
复制
&&

但是我想它不起作用,因为我从本地机器执行部分命令(比如rsync),从远程执行部分命令(比如mysqldump)。

感谢所有的帮助,谢谢。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2015-11-18 18:22:08

ssh运行mysqldump命令,但不要将其重定向到文件。这将使stdoutmysqldump返回到本地计算机,在那里您可以将其重定向到本地文件。

代码语言:javascript
复制
ssh -i my_rsa_key my_user@my_domain.tld 'mysqldump -u my_db_user -pmy_db_password my_db' > /local/path/to/store/backup.sql
票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/737316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档