我可以通过SSH访问Rails应用程序的生产服务器。
我想在我的Mac上创建一个生产数据库的mysqldump。请帮助我实现这一目标。
答案 0 :(得分:11)
将mysql数据从远程服务器转储到本地计算机的直接方法是:
ssh root@ipaddress "mysqldump -u dbuser -p dbname | gzip -9" > dblocal.sql.gz
或者
ssh -l root ipaddress "mysqldump -u dbuser -p dbname | gzip -9" > dblocal.sql.gz
两个命令都做同样的工作。
如果您拥有ssh和数据库访问密码,则会有两个密码提示,或者如果您没有ssh密码,则会要求您输入数据库密码。
同样,如果您使用来自aws或云其他服务的密钥,您可以将密钥合并到命令中:
ssh -i key.pem root@ipaddress "mysqldump -u dbuser -p dbname | gzip -9" > dblocal.sql.gz
答案 1 :(得分:0)
ssh remote_username@remote_host
mysqldump -u username -ppassword -h host database > dump.sql
scp remote_username@remote_host:/path/to/dump.sql /Users/YourName/Documents/dump.sql
rm dump.sql
答案 2 :(得分:0)
我无法让其他人工作。
这是我为linux找到的解决方案:
ssh username@ipadress "mysqldump -u USERNAME -pPASSWORD DB_NAME " > ~/dump.sql
这将提示您输入ssh服务器的密码,然后将其转储到指定的文件。