Show Database
Use database
show tables
Describe <table>
ทั้งหมดดีและดี แต่สามารถแสดงโฮสต์การเชื่อมต่อปัจจุบันได้หรือไม่ ไม่ใช่ connection_id แต่เป็นที่อยู่ IP หรือชื่อของโฮสต์
Show Database
Use database
show tables
Describe <table>
ทั้งหมดดีและดี แต่สามารถแสดงโฮสต์การเชื่อมต่อปัจจุบันได้หรือไม่ ไม่ใช่ connection_id แต่เป็นที่อยู่ IP หรือชื่อของโฮสต์
คำตอบ:
ในการรับชื่อโฮสต์ปัจจุบัน: -
select @@hostname;
show variables where Variable_name like '%host%';
ในการรับโฮสต์สำหรับคำขอที่เข้ามาทั้งหมด: -
select host from information_schema.processlist;
จากความคิดเห็นล่าสุดของคุณ
ฉันไม่คิดว่าคุณสามารถแก้ไข IP สำหรับชื่อโฮสต์โดยใช้ฟังก์ชัน mysql บริสุทธิ์
เนื่องจากต้องใช้การค้นหาเครือข่ายซึ่งอาจใช้เวลานาน
อย่างไรก็ตามเอกสาร mysql กล่าวถึงสิ่งนี้: -
resolveip google.com.sg
เอกสาร: - http://dev.mysql.com/doc/refman/5.0/en/resolveip.html
อาจจะ
mysql> show processlist;
ฉันคิดว่าคุณพยายามรับโฮสต์ระยะไกลของผู้ใช้ที่เชื่อมต่อ ...
คุณสามารถรับ String เช่น '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 แทนชื่อโฮสต์
show variables where Variable_name='hostname';
ที่ช่วยคุณได้ !!