我正在尝试运行如下命令:ssh user@host 'mysql -u dbuser -p database < ~/data.sql'
我希望它像在主机上一样提示我输入密码。
但是,它不会这样做。我是否缺少ssh参数?
要注意的另一件事是,如果删除< ~/data.sql
,则提示确实会出现。
最佳答案
您需要创建一个伪终端,以便mysql
可以从/dev/tty
而不是标准输入中读取:
ssh -t user@host 'mysql -u dbuser -p database < ~/data.sql'