Показать хост MySQL с помощью команды SQL

Show Database
Use database
show tables
Describe <table>

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

Ответ 1

Чтобы получить текущее имя хоста: -

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

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

select host from information_schema.processlist;

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

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

resolveip google.com.sg

docs: - http://dev.mysql.com/doc/refman/5.0/en/resolveip.html

Ответ 2

Может

mysql> show processlist;

Ответ 3

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

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

Ответ 4

show variables where Variable_name='hostname'; 

Это может помочь вам!