MySQL ana bilgisayarını SQL Command aracılığıyla göster


98
Show Database
Use database
show tables
Describe <table>

Hepsi iyi ve iyi, ancak mevcut bağlantıların ana bilgisayarını göstermek mümkün mü. Connection_id değil, ana bilgisayarın IP Adresi veya Adı.

Yanıtlar:


203

Mevcut ana bilgisayar adını almak için: -

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

Tüm gelen istekler için ana bilgisayarlar almak için: -

select host from information_schema.processlist;

Son yorumunuza dayanarak, uzun zaman alabilecek bir ağ araması gerektirdiğinden
, saf mysql işlevi kullanarak ana bilgisayar adı için IP'yi çözebileceğinizi sanmıyorum
.

Ancak, mysql belgesi bundan bahsediyor: -

resolveip google.com.sg

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


ATM'de test etmek için uzak bir ana bilgisayarım yok, ancak "SELECT @@ ana bilgisayar adı" yerel ana makineme veriyor. MySQL oturumu farklı bir ana bilgisayara bağlıysa, uzaktaki ana bilgisayarın adını gösterir mi? IP alabilir miyim?
— Craig Stewart

Evet, başka bir ana bilgisayardan geliyorsanız farklı bir ana bilgisayar gösterecektir. Ancak, karşılık gelen IP'yi çözmek biraz zor ...
— ajreal

My-SQL'den IP almak mümkün mü? Bu harika olurdu. @@ Hostname için bir oy, teşekkürler !! IP üzerinde mümkün değilse kabul edecek
— Craig Stewart

Komut satırını kullanarak, SQL içinde mevcut bağlı uzak ana bilgisayar IP'sini alın. Nedeni, bir komut dosyasının uzun ömürlü olması Kodumda aynı ana bilgisayara bağlı olduğumuzdan% 100 emin olamıyorum !!
— Craig Stewart

Malezya, ancak Singapur Halkla İlişkiler.
— ajreal


6

Sanırım bağlanan kullanıcının uzaktaki ana bilgisayarını almaya çalışıyorsun ...

Komuttan 'myuser @ localhost' gibi bir String elde edebilirsiniz:

SELECT USER()

Parçaları almak için bu sonucu '@' işaretine bölebilirsiniz:

-- 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 adresi üzerinden bağlanıyorsanız, ana bilgisayar adı yerine ipadress'i alacaksınız.


1
show variables where Variable_name='hostname'; 

Bu sana yardımcı olabilir !!


İlginç benim bununla hiçbir şey döndürmez.
— Vitor Canova

Bu, istendiği gibi bağlantı için istemci ana bilgisayar adını değil, sunucu ana bilgisayar adını döndürür ...
— Hartmut Holzgraefe
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.