putty -load "[my saved session]" -L [localport]:localhost:3306 -N
注意:我不能只是远程连接到mysql服务器。
#1 楼
代替PuTTY,下载命令行版本plink.exe
。然后使用相同的连接参数,可以通过plink运行mysqldump并将输出保存在本地。 PLink可从与PuTTY相同的下载页面获得。# setup the tunnel with plink
plink -load "[my saved session]" -L [localport]:localhost:3306
# Mysqldump your local port, redirected to outfile
mysqldump --port=[localport] -h localhost -uuser -ppassword dbname > outfile
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
或者,另一种方法是在与
mysqldump
相同的命令行中执行plink
,将其重定向到本地计算机上的outfile
。plink -load "[my saved session]" mysqldump -uuser -ppassword dbname > outfile
评论
我正在尝试(失败)。
当我尝试第一种方法时,转储似乎没有发生(好像第二个命令正在等待第一个命令终止)。当我终止连接时,将创建outfile(但为空)
对于第二种方法,您能解释一下后面的args吗?是outfile只是应该是文件名(不是路径)?什么是pscp?为什么最后列出远程和本地计算机的输出文件?是否多余?
–JellicleCat
2011年7月3日,19:19
@JellicleCat pscp.exe是一个安全复制(scp)实用程序,从与腻子和plink相同的位置下载。用于通过ssh连接复制文件...
– Michael Berkowski
2011年7月3日,19:33
@JellicleCat关于outfile args ... outfile可以只是文件名,以便转储发生在您碰巧所在的任何目录中(可能是/ home / username),也可以是指向其最终位置的完整路径。然后在pscp命令中,第一个arg是连接到远程计算机所需的ssh规范,其后是冒号,然后是文件的路径。第二个arg是您希望文件在本地结束的位置。如果您进行了一项设置,那么所有这些都可以使用SSH密钥。
– Michael Berkowski
2011年7月3日,19:36
啊。好的,我已经下载了它(现在意识到选项2是2个命令,而不是带换行符的1个命令-对我来说很傻)。非常感谢。
–JellicleCat
2011年7月3日在19:37
@JellicleCat的一些链接示例,请参见the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html
– Michael Berkowski
2011年7月3日在19:38
#2 楼
您可以通过在crons的帮助下设置两件事来自动执行此过程。1您必须通过在远程计算机上使用以下命令创建cron来定期生成MYSQLDUMP。 /> MYSQLDUMP命令
MYSQLDUMP -uuser -p --all-databases> file_name.sql
2。您必须创建cron才能使用下面提到的SCP命令将文件从远程服务器传输到本地计算机。
Linux SCP命令
scp user @ remote_ip:〜 /mysql_dump_file_name.sql ./
#3 楼
这对我有用(myBackup.bat文件中的一行代码):mysqldump --result-file = C:\ myProject \ dbDump.dump --port = 21
--host = localhost --user = dbUser --password = dbPassword dbName | plink -L 21:localhost:3306 -ssh mysshUser@domain.com -pw mysshPassword>
C:\ myProject \ dbDump.log
#4 楼
以@Michael Berkowski给我的东西为基础(并适应Linux,这是我现在使用的全部东西),我最终得到了两个命令以隧道传输到服务器A以访问服务器B上的MySQL服务器: ssh -f -L [localPort]:[serverB]:[serverB_mysqlPort] --port [serverA_sshPort] user@serverA -N
mysqldump -u[user] -p[password] -P[localPort] -h 127.0.0.1 [databaseName] > outfile
评论
PHP常规备份mysql数据的可能副本