【问题标题】:mysqldump via SSH to local computermysqldump 通过 SSH 到本地计算机
【发布时间】:2017-02-22 18:30:36
【问题描述】:

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

我想将生产数据库的 mysqldump 制作到我的 Mac 上。请帮助我实现这一目标。

【问题讨论】:

  • 假设外部无法访问 MySQL 数据库,您可以设置一个 ssh 隧道ssh -v -L 13306:production_mysql_server:3306 -N production_server,然后使用mysqldump -h 127.0.0.1 -P 13306...

标签: mysql ruby-on-rails ssh


【解决方案1】:

将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

【讨论】:

    【解决方案2】:
    1. 通过 ssh 连接到服务器:ssh remote_username@remote_host
    2. 转到“当前”文件夹
    3. 转储:mysqldump -u username -ppassword -h host database > dump.sql
    4. 与服务器断开连接
    5. 将 dump.sql 文件复制到本地计算机:scp remote_username@remote_host:/path/to/dump.sql /Users/YourName/Documents/dump.sql
    6. 再次通过 ssh 连接到服务器并转到“当前”文件夹
    7. 删除 dump.sql 文件:rm dump.sql

    【讨论】:

    • 在 ssh 服务器中有足够可用空间时的简单解决方案。
    【解决方案3】:

    我无法让其他人工作。

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

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

    这将提示您输入 ssh 服务器的密码,然后将数据库转储到 SSH 服务器上的指定位置。

    【讨论】:

      猜你喜欢
      • 2011-09-27
      • 2015-04-12
      • 2013-03-31
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 2016-07-21
      • 2012-08-15
      • 2015-08-05
      相关资源
      最近更新 更多