mysqldump通过SSH到本地计算机

hsgswve4  于 5个月前  发布在  Mysql
关注(0)|答案(4)|浏览(77)

我有一个SSH访问Rails应用程序的生产服务器。
我想做一个mysqldump的生产数据库到我的Mac。请帮助我实现这一点。

nc1teljy

nc1teljy1#

将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

odopli94

odopli942#

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

mctunoxg

mctunoxg3#

我不能让其他的工作。
这是我为Linux找到的解决方案:

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

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

py49o6xq

py49o6xq4#

通过SSH进行备份的一种替代方法是创建SSH隧道,如下所示:

ssh -f -N -L 3307:localhost:3306 [email protected]

字符串
之后,您可以像连接本地服务器一样连接到数据库

mysqldump -u user -ppassword -h 127.0.0.1 -P 3307 --all-databases > backup.sql


运行恢复过程更加容易

mysql -h 127.0.0.1 -u user -ppassword < backup.sql


当您不想将一个命令放到另一个命令中时(例如,由于与引号混淆),这种方法非常方便。
通过SSH连接进行mysql备份的示例:
Access Your Database Remotely Through an SSH Tunnel
Over SSH – Remote MySQL Backup

相关问题