GNU/Linux >> Linux の 問題 >  >> Linux

Linux コマンドラインから MySQL クレデンシャルをテストしますか?

mysql -h host -u user -p<whatever> -e"quit"

これにより、サーバーにプログラムでクエリを送信するために使用するのと同じ接続文字列を使用できます。 || exit 1 を追加できます 最後に、無効な引数で自動終了します。 stderr を /dev/null にリダイレクトすることもできます。 自動生成された MySQL エラー メッセージが気に入らない場合。


次のコマンドを使用できます (mysql が PATH に設定されていると仮定します):

<ブロック引用>

mysql -h ホスト -u ユーザー -p

ホストを置き換えるだけです とユーザー 正しい値を入力すると、パスワードの入力を求めるプロンプトが表示されます。


@Phil の回答と @Mr.Brownstone の回答で十分なので、両方に +1 してください。

以下では、ユーザー名 myuser でログインしていると仮定しましょう

mysql に接続したら、次のクエリを実行する必要があります:

SELECT USER(),CURRENT_USER();
  • USER() は、MySQL で認証しようとした方法を報告します
  • CURRENT_USER() は、MySQL で認証が許可された方法を報告します

時々、それらは異なります。これにより、mysql へのログインが許可されている理由がわかる場合があります。

実行する必要がある別のクエリを次に示します。

SELECT CONCAT('''',user,'''@''',host,'''') dbuser,password
FROM mysql.user WHERE user='myuser';

これにより、myuser としてログインできる方法が表示されます .

'myuser'@'localhost' が表示された場合 、DB サーバー内から認証できます。

'myuser'@'127.0.0.1' が表示された場合 'myuser'@'localhost' が表示されない 、DB サーバー内から再度認証できますが、 --protocol=tcp を指定する必要があります コマンドラインから。

'myuser'@'%' が表示された場合 、その後、任意のサーバーからリモートログインを行うことができます.

'myuse'[email protected]'10.20.30,%' が表示された場合 の場合、10.20.30.% ネットブロックからのみリモート ログインできます。

'mysql.user' がユーザーに対して何を持っているかを確認したら、myuser を 1 つの方法で logggin から許可または制限することをお勧めします。

myuser のパスワードを確認したいだけの場合 whateverpassword です 、次のことができます:

SELECT COUNT(1) Password_is_OK FROM mysql.user
WHERE user='myuser'
AND password=PASSWORD('whateverpassword');

次のようにコマンドラインから確認できます:

PASSWORDISOK=`mysql -uroot -p... -ANe"SELECT COUNT(1) Password_is_OK FROM mysql.user WHERE user='myuser' AND password=PASSWORD('whateverpassword')"`

root でない場合 myuser のみをテストしたい場合は、次のようにします:

PASSWORDISOK=`mysqladmin -umyuser -pwhateverpassword ping | grep -c "mysqld is alive"`

1 を取得すると、myuser のパスワードは有効であることが確認されます。


Linux
  1. コマンドラインからリモートでLinuxワークスペースを構成する

  2. Linuxのコマンドラインからトレントを検索

  3. Linuxsuコマンド

  1. Linuxコマンドラインから直接MySQL/MariaDBクエリを実行する方法

  2. Linuxコマンドラインから電子メールの添付ファイルを送信する4つの方法

  3. Linux のコマンドラインからテーブルを切り捨てる

  1. Linuxコマンドラインからハードウェアをプログラムする

  2. LinuxのコマンドラインからPostgreSQLデータベースに接続する方法

  3. コマンドLinuxラインからのmatlab実行スクリプト