web-dev-qa-db-fra.com

Afficher l'hôte MySQL via la commande SQL

Show Database
Use database
show tables
Describe <table>

Tout va bien, mais est-il possible d'afficher les connexions actuelles hôte . Pas connection_id, mais l'adresse IP ou le nom de l'hôte.

81
Craig Stewart

Pour obtenir le nom d'hôte actuel: -

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

Pour obtenir des hôtes pour toutes les demandes entrantes: -

select Host from information_schema.processlist;

Basé sur votre dernier commentaire,
Je ne pense pas que vous puissiez résoudre IP pour le nom d’hôte en utilisant la fonction pure mysql,
car cela nécessite une recherche sur le réseau, ce qui peut prendre beaucoup de temps. 

Cependant, le document mysql le mentionne: -

resolveip google.com.sg

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

163
ajreal

Peut être

mysql> show processlist;
17
Adrian Cornish

Je pense que vous essayez d’obtenir l’hôte distant de l’utilisateur connecté ...

Vous pouvez obtenir une chaîne telle que 'myuser @ localhost' à partir de la commande:

SELECT USER()

Vous pouvez scinder ce résultat sur le signe "@" pour obtenir les parties:

-- delivers the "remote_Host" e.g. "localhost" 
SELECT SUBSTRING_INDEX(USER(), '@', -1) 

-- delivers the user-name e.g. "myuser"
SELECT SUBSTRING_INDEX(USER(), '@', 1)

si vous vous connectez via une adresse IP, vous obtiendrez l'adresse IP au lieu du nom d'hôte.

5
Radon8472
show variables where Variable_name='hostname'; 

Cela pourrait vous aider !!

0
Gowtham Vakani