通过ssh访问Mysql(不允许隧道)

时间:2012-09-11 05:01:55

标签: mysql linux bash ssh

当我想访问只允许本地访问的Mysql服务器时,首先我需要SSH到该服务器,然后运行“mysql”命令。但是我想通过一个命令来运行它。

执行此命令时,终端停止,光标在5或10秒后冻结。

ssh arash@10.0.3.1 "/usr/bin/mysql -u db_username -pdfdasdfCASDF -D db_12dgj

有谁知道哪个部分出错了?

2 个答案:

答案 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用户是否可以远程连接远程连接并对此数据库进行操作?

简而言之,您是否先进一步测试经典方法,例如:

  • 首先连接,
  • 第二次输入你的mysql命令
  • 第三次确认它有效。

没有隧道:

ssh user@server '/usr/bin/mysql -u{mysqlUser} -p{mysqlPassword} {mysqlDB} -e "select * from table"' 

您可以使用-e开关转义命令,默认转义字符为~

如果它不起作用,我建议你在dba.stackexchange.com上查看these thread