localhost與127.0.0.1的區別是什麽
今天我在訪問mysql時,遇到127.0.0.1不能夠訪問,而localhost可以訪問的問題。
解決方案
1.之前有人說用127.0.0.1本地ip,它比localhost好,可以減少一次解析,我也就相信了。
今天重新看搜索了下,看了還是我不清楚,其實這兩者是有區別的。
2.localhost也叫local ,正確的解釋是:本地服務器
127.0.0.1在windows等系統的正確解釋是:本機地址(本機服務器)
3.localhot(local)是不經網卡傳輸!這點很重要,它不受網絡防火墻和網卡相關的的限制。
127.0.0.1是通過網卡傳輸,依賴網卡,並受到網絡防火墻和網卡相關的限制。
4.一般設置程序時本地服務用localhost是最好的,localhost不會解析成ip,也不會占用網卡、網絡資源。
5.有時候用 localhost 可以,但用 127.0.0.1 就不可以的情況就是在於此。猜想 localhost訪問時,系統帶的本機當前用戶的權限去訪問,而用IP的時候,等於本機是通過網絡再去訪問本機,可能涉及到網絡用戶的權限。
MySQL 連接時主機類型
a.mysql -h 127.0.0.1 的時候,使用 TCP/IP 連接
b.mysql -h localhost 的時候,是不使用 TCP/IP 連接的,而使用 Unix socket;此時,mysql server 則認為該 client 是來自 “localhost”
MySQL 手冊 5.6.4 ….. A Host value may be a hostname or an IP number, or ‘localhost’ to indicate the local host.
分別用上述方式訪問主機,然後使用status命令
前者:Connection: 127.0.0.1 via TCP/IP
後者:Connection: Localhost via UNIX socket
localhost與127.0.0.1的區別是什麽