MySQLでログインしているユーザーを確認するにはどうすればよいですか?


34

複数のテキストコンソールセッションを開いて、異なるユーザーとして異なるコンソールにログインしています。どのコンソールがどのユーザーに属しているかを忘れてしまいました。終了してログインし直さなくてもいいと思います。

ログインしているユーザーを確認するにはどうすればよいですか?

ログアウトするときと同じようにログインしたユーザーを変更する方法はありますか?

回答:


42

実際には、2つの機能を使用する必要があります

SELECT USER(),CURRENT_USER();

USER()は、MySQLで認証しようとした方法を報告します

CURRENT_USER()は、MySQLでの認証を許可された方法を報告します

時々、彼らは異なっています


例えば。ユーザーが存在しないmysql -ulalala場所からmysql lalalaにログインすると、「匿名」のmysqlユーザー、つまりとしてログインできます''@'localhost'。この場合、関数の戻りであろう USER()= lalala@localhostCURRENT_USER() = @localhost
のDimitry K

2
@DimitryKそれが起こったら、実行SHOW GRANTS;して自分が持っているパーミッションを確認できます。以外USAGEに何も表示されない場合でも、特定のテストデータベースは匿名ユーザーが100%アクセス可能であることに注意する必要があります。私のポストを参照してくださいMySQL : Why are there “test” entries in mysql.db?dba.stackexchange.com/q/13361/877
RolandoMySQLDBA

+1、SHOW GRANTS、Mysqlチュートリアルを多数読んでいるにも関わらず、私がつまずいたことがないのは奇妙です。
ディミトリK

2

このuser()関数を見つけました

select user(); ログインしているユーザーが表示されます。


そのリンクはまだ機能しますか?mysql-> oracle breakageのため、Googleのキャッシュにリンクすることにしました。
高価な

動作しますが、他の興味深い機能もあり、database()を選択します。現在選択されているデータベースが表示されます。
-nelaaro

それは本当に迷惑です、なぜそれが私のために機能しないのだろうか。ありがとう。
高価な




0

「ステータス」を使用できます:

MariaDB [my_database]>ステータス

現在のユーザー:root @ localhost

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.