Show Database
Use database
show tables
Describe <table>
すべて順調ですが、現在の接続ホストを表示することは可能ですか。connection_idではなく、ホストのIPアドレスまたは名前。
Show Database
Use database
show tables
Describe <table>
すべて順調ですが、現在の接続ホストを表示することは可能ですか。connection_idではなく、ホストのIPアドレスまたは名前。
回答:
現在のホスト名を取得するには:-
select @@hostname;
show variables where Variable_name like '%host%';
すべての着信リクエストのホストを取得するには:-
select host from information_schema.processlist;
あなたの最後のコメントに基づいて、
純粋なmysql関数を使用してホスト名のIPを解決することはできないと思います
。これには時間がかかる可能性があるネットワークルックアップが必要になるためです。
しかし、mysqlのドキュメントではこれについて言及しています:-
resolveip google.com.sg
docs:-http: //dev.mysql.com/doc/refman/5.0/en/resolveip.html
接続しているユーザーのリモートホストを取得しようとしていると思います...
コマンドから 'myuser @ localhost'のような文字列を取得できます。
SELECT USER()
この結果を「@」記号で分割して、パーツを取得できます。
-- delivers the "remote_host" e.g. "localhost"
SELECT SUBSTRING_INDEX(USER(), '@', -1)
-- delivers the user-name e.g. "myuser"
SELECT SUBSTRING_INDEX(USER(), '@', 1)
IPアドレスを介して接続している場合は、ホスト名の代わりにIPアドレスを取得します。
show variables where Variable_name='hostname';
それはあなたを助けることができます!!