mysql クエリが、クエリを発行したユーザーのユーザー名を返す方法があるかどうかを知りたいです。
これは可能ですか?
どちらかを実行してみてください
SELECT USER();
また
SELECT CURRENT_USER();
場合によっては異なる場合があります。USER () は、認証しようとしたログインによって返され、CURRENT_USER()は、実際に認証を許可された方法を返します。
機能をお試しくださいCURRENT_USER()
。これは、MySQL がクライアント接続の認証に使用したユーザー名を返します。あなたの権限を決定するのはこのユーザー名です。
これは、クライアントから MySQL に送信されたユーザー名とは異なる場合があります (たとえば、ユーザー名が送信されたとしても、MySQL は匿名アカウントを使用してクライアントを認証する場合があります)。接続時にクライアントが MySQL に送信したユーザー名が必要な場合は、USER()
代わりに関数を使用してください。
値は、サーバーへの接続時に指定したユーザー名と、接続元のクライアント ホストを示します。この値は、CURRENT_USER() の値とは異なる場合があります。
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
次のクエリを使用します。
SELECT USER();
または
SELECT CURRENT_USER;
以下を使用できます。
SELECT USER();
また
SELECT CURRENT_USER();
ここで詳細を参照してくださいhttp://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
以下も使用できます: 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 |
+---------------+-------------------------------+