Pokaż hosta MySQL za pomocą polecenia SQL


97
Show Database
Use database
show tables
Describe <table>

Wszystko dobrze, ale czy można pokazać aktualnego hosta połączeń. Nie identyfikator_połączenia, ale adres IP lub nazwa hosta.

Odpowiedzi:


199

Aby uzyskać aktualną nazwę hosta: -

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

Aby uzyskać hosty dla wszystkich przychodzących żądań: -

select host from information_schema.processlist;

Na podstawie Twojego ostatniego komentarza
nie sądzę, abyś mógł rozwiązać IP dla nazwy hosta za pomocą czystej funkcji mysql,
ponieważ wymaga to wyszukiwania sieci, co może zająć dużo czasu.

Jednak dokument mysql wspomina o tym: -

resolveip google.com.sg

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


Nie mam zdalnego hosta do przetestowania w ATM, ale „SELECT @@ nazwa hosta” podaje mój lokalny host. Jeśli sesja MySQL jest połączona z innym hostem, czy pokaże nazwę zdalnego hosta? Czy mogę otrzymać adres IP?
Craig Stewart

Tak, pokaże innego gospodarza, jeśli pochodzisz z innego gospodarza. Jednak rozwiązanie odpowiedniego adresu IP jest trochę trudne ...
ajreal

Czy można uzyskać adres IP z My-SQL? Byłoby świetnie. Jeden głos na @@ Nazwa hosta, dziękujemy !! Przyjmie, jeśli nie będzie to możliwe na IP
Craig Stewart

Korzystając z wiersza poleceń, pobierz aktualny adres IP podłączonego zdalnego hosta w SQL. Przyczyna, długowieczność skryptu Nie mogę być w 100% pewien w moim kodzie, że jesteśmy połączeni z tym samym hostem !!
Craig Stewart

Malezyjski, ale singapurski PR.
ajreal


6

Myślę, że próbujesz zdobyć zdalnego hosta łączącego się użytkownika ...

Możesz uzyskać ciąg, taki jak „myuser @ localhost” z polecenia:

SELECT USER()

Możesz podzielić ten wynik na znak „@”, aby otrzymać części:

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

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

jeśli łączysz się przez adres IP, zamiast nazwy hosta otrzymasz ipadress.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.