当我想访问只允许本地访问的Mysql服务器时,首先我需要SSH到该服务器,然后运行“mysql”命令。但是我想通过一个命令来运行它。
执行此命令时,终端停止,光标在5或10秒后冻结。
ssh arash@10.0.3.1 "/usr/bin/mysql -u db_username -pdfdasdfCASDF -D db_12dgj
有谁知道哪个部分出错了?
答案 0 :(得分:2)
你需要确保你有一个pty的readline。使用-t
的{{1}}选项。
ssh
man ssh(1):
-t Force pseudo-tty allocation. This can be used to execute arbi- trary screen-based programs on a remote machine, which can be very useful, e.g., when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.
答案 1 :(得分:0)
您的MySQL用户是否有足够的权限来执行此操作?
您的MySQL用户是否可以远程连接远程连接并对此数据库进行操作?
简而言之,您是否先进一步测试经典方法,例如:
没有隧道:
ssh user@server '/usr/bin/mysql -u{mysqlUser} -p{mysqlPassword} {mysqlDB} -e "select * from table"'
您可以使用-e
开关转义命令,默认转义字符为~
。
如果它不起作用,我建议你在dba.stackexchange.com上查看these thread