Show Database
Use database
show tables
Describe <table>
Tất cả tốt và tốt, nhưng nó có thể hiển thị máy chủ lưu trữ kết nối hiện tại. Không phải là connection_id, mà là Địa chỉ IP hoặc Tên của máy chủ.
Show Database
Use database
show tables
Describe <table>
Tất cả tốt và tốt, nhưng nó có thể hiển thị máy chủ lưu trữ kết nối hiện tại. Không phải là connection_id, mà là Địa chỉ IP hoặc Tên của máy chủ.
Câu trả lời:
Để lấy tên máy chủ hiện tại: -
select @@hostname;
show variables where Variable_name like '%host%';
Để nhận máy chủ cho tất cả các yêu cầu đến: -
select host from information_schema.processlist;
Dựa trên nhận xét cuối cùng của bạn,
tôi không nghĩ rằng bạn có thể phân giải IP cho tên máy chủ bằng cách sử dụng hàm mysql thuần túy,
vì nó yêu cầu tra cứu mạng, có thể mất nhiều thời gian.
Tuy nhiên, tài liệu mysql đề cập đến điều này: -
resolveip google.com.sg
tài liệu: - http://dev.mysql.com/doc/refman/5.0/en/resolveip.html
Có lẽ
mysql> show processlist;
Tôi nghĩ bạn cố gắng lấy máy chủ từ xa của người dùng kết nối ...
Bạn có thể nhận một Chuỗi như 'myuser @ localhost' từ lệnh:
SELECT USER()
Bạn có thể chia kết quả này trên dấu '@' để lấy các phần:
-- delivers the "remote_host" e.g. "localhost"
SELECT SUBSTRING_INDEX(USER(), '@', -1)
-- delivers the user-name e.g. "myuser"
SELECT SUBSTRING_INDEX(USER(), '@', 1)
nếu bạn đang kết nối qua địa chỉ ip, bạn sẽ nhận được địa chỉ ipad thay vì tên máy chủ.
show variables where Variable_name='hostname';
Điều đó có thể giúp bạn !!