0

ローカル アクセスのみを許可する Mysql サーバーにアクセスするには、まずそのサーバーに SSH で接続し、「mysql」コマンドを実行する必要があります。ただし、1つのコマンドで実行したい。

このコマンドを実行すると端末が停止し、5 秒または 10 秒後にカーソルがフリーズします。

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

どの部分が間違っているか分かる人いますか?

4

2 に答える 2

2

あなたはあなたがreadlineのためにptyを持っていることを確認する必要があります。-tのオプションを使用しますssh

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

man ssh(1):

     -t疑似tty割り当てを強制します。これは、arbi-を実行するために使用できます。
             リモートマシン上の画面ベースのプログラム。
             メニューサービスを実装する場合など、非常に便利です。複数の-t
             オプションは、sshにローカルttyがない場合でも、ttyの割り当てを強制します。
于 2012-09-11T06:01:36.517 に答える
0

あなたのMySQLユーザーはそれを行うのに十分な権限を持っていますか?

あなたの MySQL ユーザーは、リモートで接続してこのデータベースで操作を行うための遠隔アクセス権を持っていますか?

要するに、先に進む前にまず古典的な方法をテストしましたか?

  • 最初に接続し、
  • 次にmysqlコマンドを入力します
  • 3番目に動作することを確認します。

トンネリングなし:

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

スイッチを使用してコマンドをエスケープできます。-eデフォルトのエスケープ文字は~です。

うまくいかない場合は、dba.stackexchange.comのスレッドを参照することをお勧めします。

于 2012-09-11T05:52:08.777 に答える