ローカル アクセスのみを許可する Mysql サーバーにアクセスするには、まずそのサーバーに SSH で接続し、「mysql」コマンドを実行する必要があります。ただし、1つのコマンドで実行したい。
このコマンドを実行すると端末が停止し、5 秒または 10 秒後にカーソルがフリーズします。
ssh arash@10.0.3.1 "/usr/bin/mysql -u db_username -pdfdasdfCASDF -D db_12dgj
どの部分が間違っているか分かる人いますか?
あなたはあなたが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の割り当てを強制します。
あなたのMySQLユーザーはそれを行うのに十分な権限を持っていますか?
あなたの MySQL ユーザーは、リモートで接続してこのデータベースで操作を行うための遠隔アクセス権を持っていますか?
要するに、先に進む前にまず古典的な方法をテストしましたか?
トンネリングなし:
ssh user@server '/usr/bin/mysql -u{mysqlUser} -p{mysqlPassword} {mysqlDB} -e "select * from table"'
スイッチを使用してコマンドをエスケープできます。-e
デフォルトのエスケープ文字は~
です。
うまくいかない場合は、dba.stackexchange.comのスレッドを参照することをお勧めします。