101

mysql クエリが、クエリを発行したユーザーのユーザー名を返す方法があるかどうかを知りたいです。

これは可能ですか?

4

8 に答える 8

100

どちらかを実行してみてください

SELECT USER();

また

SELECT CURRENT_USER();

場合によっては異なる場合があります。USER () は、認証しようとしたログインによって返され、CURRENT_USER()は、実際に認証を許可された方法を返します。

于 2013-10-13T21:08:32.467 に答える
93

機能をお試しくださいCURRENT_USER()。これは、MySQL がクライアント接続の認証に使用したユーザー名を返します。あなたの権限を決定するのはこのユーザー名です。

これは、クライアントから MySQL に送信されたユーザー名とは異なる場合があります (たとえば、ユーザー名が送信されたとしても、MySQL は匿名アカウントを使用してクライアントを認証する場合があります)。接続時にクライアントが MySQL に送信したユーザー名が必要な場合は、USER()代わりに関数を使用してください。

値は、サーバーへの接続時に指定したユーザー名と、接続元のクライアント ホストを示します。この値は、CURRENT_USER() の値とは異なる場合があります。

http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user

于 2013-10-13T21:07:26.930 に答える
18

次のクエリを使用します。

SELECT USER();

または

SELECT CURRENT_USER;
于 2013-10-13T21:07:26.320 に答える
7

以下を使用できます。

SELECT USER();

また

SELECT CURRENT_USER();

ここで詳細を参照してくださいhttp://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user

于 2013-10-13T21:08:27.667 に答える
2

以下も使用できます: mysql> select user,host from mysql.user;

+---------------+-------------------------------+
| user          | host                          |
+---------------+-------------------------------+
| fkernel       | %                             |
| nagios        | %                             |
| readonly      | %                             |
| replicant     | %                             |
| reporting     | %                             |
| reporting_ro  | %                             |
| nagios        | xx.xx.xx.xx                 |
| haproxy_root  | xx.xx.xx.xx
| root          | 127.0.0.1                     |
| nagios        | localhost                     |
| root          | localhost                     |
+---------------+-------------------------------+
于 2016-10-19T19:24:02.037 に答える