自动将MySQLdump转储到本地计算机(Windows)
我想从远程主机将mysqldump自动化到我的计算机,但我不知道如何实现 我想我应该通过SSH隧道运行mysqldump,但由于我的本地计算机是Windows XP机器,这就变得复杂了。我用油灰开了一条隧道,就像这样:自动将MySQLdump转储到本地计算机(Windows),mysql,windows,ssh,mysqldump,putty,Mysql,Windows,Ssh,Mysqldump,Putty,我想从远程主机将mysqldump自动化到我的计算机,但我不知道如何实现 我想我应该通过SSH隧道运行mysqldump,但由于我的本地计算机是Windows XP机器,这就变得复杂了。我用油灰开了一条隧道,就像这样: putty -load "[my saved session]" -L [localport]:localhost:3306 -N 注意:我不能直接远程连接到mysql服务器。请下载命令行版本plink.exe,而不是PuTTY。然后使用相同的连接参数,您可以通过plink运行
putty -load "[my saved session]" -L [localport]:localhost:3306 -N
注意:我不能直接远程连接到mysql服务器。请下载命令行版本
plink.exe,而不是PuTTY。然后使用相同的连接参数,您可以通过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
或者,另一种方法是在与plink
相同的命令行中执行mysqldump
,将其重定向到本地计算机上的outfile
plink -load "[my saved session]" mysqldump -uuser -ppassword dbname > outfile
这适用于我(myBackup.bat文件中的一行代码):
mysqldump--result file=C:\myProject\dbDump.dump--port=21
--host=localhost--user=dbUser--password=dbPassword-dbName | plink-l21:localhost:3306-sshmysshUser@domain.com-pw myshpassword>
C:\myProject\dbDump.log
在@Michael Berkowski给我的基础上(并适应Linux,现在我只使用Linux),我最终得到了两个命令,用于隧道传输到服务器A以访问服务器B上的MySQL服务器:
ssh-f-L[localPort]:[serverB]:[serverB\u mysqlPort]--端口[serverA\u sshPort]user@serverA-N
mysqldump-u[user]-p[password]-p[localPort]-h 127.0.0.1[databaseName]>outfile
您可以通过在cron的帮助下设置两件事来自动化此过程
1您必须通过在远程计算机上使用以下命令创建cron来定期生成MYSQLDUMP。
MYSQLDUMP-uuser-p--所有数据库>文件名.sql
2。您必须创建一个cron,以便使用下面提到的SCP命令将文件从远程服务器传输到本地计算机。
scpuser@remote_ip:~/mysql\u dump\u file\u name.sql./我现在正在尝试(但失败了) 当我尝试第一种方法时,转储似乎没有发生(好像第二个命令正在等待第一个命令终止)。当我终止连接时,会创建输出文件(但为空)至于第二种方法,您能解释后面的参数吗?outfile应该是文件名(而不是路径)吗?什么是pscp?为什么要在末尾列出远程和本地计算机的输出文件?它是多余的吗?@JellicleCatpscp.exe
是一个安全副本(scp
)实用程序,从putty&plink的同一位置下载。用于通过ssh连接复制文件…@JellicleCat关于outfile参数outfile
可以是文件名,以便转储发生在您碰巧所在的任何目录(可能是/home/username)中,也可以是您希望它结束的完整路径。然后在pscp
命令中,第一个参数是连接到远程机器所需的ssh规范,冒号后是文件路径。第二个参数是希望文件在本地结束的位置。如果您有一个setup.Ah,那么所有这些都可以使用SSH密钥。好的,我已经下载了它(现在意识到选项2是两个命令,而不是一个带换行符的命令——我真傻)。非常感谢。@JellicleCat有关plink的一些示例,请参阅的可能副本