mysqldump通过SSH连接到本地计算机

时间:2016-10-13 14:47:37

标签: mysql ruby-on-rails ssh

我可以通过SSH访问Rails应用程序的生产服务器。

我想在我的Mac上创建一个生产数据库的mysqldump。请帮助我实现这一目标。

3 个答案:

答案 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)

  1. Connect to server via ssh: ssh remote_username@remote_host
  2. Go to 'current' folder
  3. Make a dump: mysqldump -u username -ppassword -h host database > dump.sql
  4. Disconnect from server
  5. Copy a dump.sql file to local computer: scp remote_username@remote_host:/path/to/dump.sql /Users/YourName/Documents/dump.sql
  6. Connect to server via ssh again and go to 'current' folder
  7. Remove dump.sql file: rm dump.sql

答案 2 :(得分:0)

我无法让其他人工作。

这是我为linux找到的解决方案:

ssh username@ipadress "mysqldump -u USERNAME -pPASSWORD DB_NAME " > ~/dump.sql

这将提示您输入ssh服务器的密码,然后将其转储到指定的文件。