Показать хост MySQL с помощью команды SQL - PullRequest
87 голосов
/ 27 ноября 2011
Show Database
Use database
show tables
Describe <table>

Все хорошо и хорошо, но можно ли показать текущие соединения хоста. Не connection_id, а IP-адрес или имя хоста.

Ответы [ 4 ]

179 голосов
/ 27 ноября 2011

Для получения текущего имени хоста: -

select @@hostname;
show variables where Variable_name like '%host%';

Чтобы получить хосты для всех входящих запросов: -

select host from information_schema.processlist;

На основании вашего последнего комментария,
Я не думаю, что вы можете разрешить IP для имени хоста, используя чистую функцию MySQL,
так как это требует поиска в сети, что может занять много времени.

Однако в документе MySQL упоминается следующее: -

resolveip google.com.sg

документы: - http://dev.mysql.com/doc/refman/5.0/en/resolveip.html

16 голосов
/ 27 ноября 2011

Может

mysql> show processlist;
6 голосов
/ 16 августа 2016

Я думаю, вы пытаетесь получить удаленный хост подключающегося пользователя ...

Вы можете получить строку типа 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-адрес, вы получите ipadress вместо имени хоста.

1 голос
/ 08 марта 2017
show variables where Variable_name='hostname'; 

Это может помочь тебе !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...