mysql - 远程mysql导入: No such file or directory

标签 mysql ssh

这是一个奇怪的问题。我有一个构建脚本,它将数据库转储到一个 sql 文件(其中包含 3 个数据库)。

然后我将文件上传到临时服务器(有效),当我运行或执行命令时:

sshpass -p 'webmin' ssh webmin@apps.mydomain.local mysql -u root < /var/www/complete_db.sql

我收到错误:

bash: /var/www/complete_db.sql: No such file or directory

这是不正确的 - 它最肯定是在该路径的临时服务器上。如果我远程进入服务器并执行:

mysql -u root < /var/www/complete_db.sql

它按预期导入,一切正常......

即使我这样做

sshpass -p 'webmin' ssh webmin@apps.mydomain.local ls -al /var/www

我可以清楚地看到服务器上的文件...有什么想法吗?

最佳答案

我打赌 < /var/www/complete_db.sql部分正在传递给 sshpass,而不是作为发送到远程服务器的命令的一部分。

巧妙地使用引号可能可以解决这个问题 - 我会尝试将整个远程命令放入引号中:

sshpass -p 'webmin' ssh webmin@apps.mydomain.local "mysql -u root < /var/www/complete_db.sql"

关于mysql - 远程mysql导入: No such file or directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42258074/

相关文章:

MySQL 错误 #1071 - 指定的 key 太长;最大 key 长度为 767 字节

batch-file - 使用 PuTTY Plink 从批处理文件执行 "su"

mysql - 通过批处理文件运行 MySQL - 流氓角色

php - 按字段排序 SQL 状态异常 1064

git - SSH 不使用公钥进行身份验证 (Windows)

git - ssh -vT git@github.com kex_exchange_identification : Connection closed by remote host

Python 在显示图像时检测到 x 服务器错误

php - 没有密码但 key 授权安全的Mysql服务器?

mysql - 在 SQL/PHP 中连接 3 个表

mysql - 如何在 utf8mb4_general_ci 编码的数据库中包含表情符号? (MySQL问题)