| 維度 | localhost | 127.0.0.1 |
|---|---|---|
| 正確語義 | 本地服務器 | 本機地址(本機服務器) |
| 網絡路徑 | **不經網卡**,本地文件域套接字 | **經網卡回環**,TCP/IP 協議棧 |
| 防火牆影響 | 不受網絡防火牆限制 | 受防火牆/網卡相關限制 |
| 資源佔用 | 不佔用網絡資源 | 佔用網絡棧資源 |
| 權限模型 | 當前用戶本地權限 | 網絡用戶權限(可能不同) |
建議:本地服務配置優先用 localhost,避免網絡層干擾。
mysql -h 127.0.0.1 → **TCP/IP 連接**,服務器認為來源為 127.0.0.1 或 localhost.localdomainmysql -h localhost → **Unix Socket 連接**,服務器認為來源為 localhostHost='localhost' 有特殊含義:表示本地 Socket 連接權限表順序決定匹配優先級:
-- 記錄 1
Host: localhost User: root -- 優先匹配
-- 記錄 2
Host: 127.0.0.1 User: root
當 localhost 解析為 127.0.0.1 時,兩種連接方式均優先匹配第 1 條記錄。
shell> mysql -h 127.0.0.1
mysql> status;
Connection: 127.0.0.1 via TCP/IP
Current user: root@127.0.0.1
shell> mysql -h localhost
mysql> status;
Connection: Localhost via UNIX socket
Current user: root@localhost
shell> mysql -h 真實IP
mysql> status;
Connection: 真實IP via TCP/IP
Current user: root@真實IP
root@localhost vs root@127.0.0.1 vs root@IPGRANT,或使用通配符 %