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.
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:
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
Może
mysql> show processlist;
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.
show variables where Variable_name='hostname';
To mogłoby ci pomóc !!