MySQL将.sql文件从ssh连接复制到数据库中

MySQL将.sql文件从ssh连接复制到数据库中,mysql,database,ssh,scp,Mysql,Database,Ssh,Scp,我想将数据库从一台服务器复制到另一台服务器(德国和中国),因为它们都是由两个不同的服务提供商托管的服务器,我不能只复制它们,因为它们不允许我更改服务器的配置文件。我得出的结论是,我需要在我所在的位置设置第三台服务器,然后我可以将数据复制到另一台服务器,这样我在德国有一台“主机”,在中国有一台“奴隶”,在我所在的位置有一台“信使”。所有命令都必须通过bash脚本在“messenger”上执行。脚本工作正常,直到文件被发送到数据库中,它给我的错误是文件不存在,但它存在 mysqldump -h [h

我想将数据库从一台服务器复制到另一台服务器(德国和中国),因为它们都是由两个不同的服务提供商托管的服务器,我不能只复制它们,因为它们不允许我更改服务器的配置文件。我得出的结论是,我需要在我所在的位置设置第三台服务器,然后我可以将数据复制到另一台服务器,这样我在德国有一台“主机”,在中国有一台“奴隶”,在我所在的位置有一台“信使”。所有命令都必须通过bash脚本在“messenger”上执行。脚本工作正常,直到文件被发送到数据库中,它给我的错误是文件不存在,但它存在

mysqldump -h [host] -u [user] -p[mysqlpassword] databasename > filename.sql
sshpass-p[mypassword]ssh[chineseseserverip]-l[user]mysql-u[mysqlUser]-p[mysqlpassword]database

我不能把文件从“messenger”服务器复制到中文服务器上,因为“中国防火墙”的缘故,这需要很长时间(我将.sql文件加密,然后在中文服务器上传输,我将其解压缩并上传)。

问题解决了,我只需将sql文件的插入设置为“

sshpass-p[mypassword]ssh[chineseseserverip]-l[user]“mysql-u[mysqlUser]-p[mysqlpassword]database
这是一次性的,还是应该通过脚本定期执行?应该通过脚本定期执行。您是否尝试过直接在终端中执行这些命令,而不是通过脚本执行?是的,我这样做了,但它也给了我相同的eror,即不存在听写器。
sshpass -p [mypassword] ssh [ChineseServerIp] -l [user] sshpass -p [mypassword] scp user@GermanServerIP:filename.sql /home
sshpass -p [mypassword] ssh [ChineseServerIP] -l [user] mysql -u [mysqlUser] -p[mysqlpassword] Databese < /home/filename.sql
sshpass -p [mypassword] ssh [ChineseServerIP] -l [user] "mysql -u [mysqlUser] -p[mysqlpassword] Databese < /home/filename.sql"