程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> php mysql localhost,127.0.0.1和ip區別

php mysql localhost,127.0.0.1和ip區別

編輯:MySQL綜合教程

一家之言:

localhost與127.0.0.1的區別

localhost與127.0.0.1的區別是什麼?相信有人會說是本地ip,曾有人說,用127.0.0.1比localhost好,可以減少一次解析。看來這個入門問題還有人不清楚,其實這兩者是有區別的。

no1:

localhost也叫local ,正確的解釋是:本地服務器
127.0.0.1在windows等系統的正確解釋是:本機地址(本機服務器)

no2:

localhot(local)是不經網卡傳輸!這點很重要,它不受網絡防火牆和網卡相關的的限制。
127.0.0.1是通過網卡傳輸,依賴網卡,並受到網絡防火牆和網卡相關的限制。

一般設置程序時本地服務用localhost是最好的,localhost不會解析成ip,也不會占用網卡、網絡資源。

有時候用localhost可以,但用127.0.0.1就不可以的情況就是在於此。猜想localhost訪問時,系統帶的本機當前用戶的權限去訪問,而用ip的時候,等於本機是通過網絡再去訪問本機,可能涉及到網絡用戶的權限。

他家之言:

1. mysql -h 127.0.0.1 的時候,使用TCP/IP連接,
mysql server 認為該連接來自於127.0.0.1或者是"localhost.localdomain"

2. mysql -h localhost 的時候,是不使用TCP/IP連接的,而使用Unix socket;
此時,mysql server則認為該client是來自"localhost"

3. mysql權限管理中的"localhost"有特定含義:
—— MySQL手冊 5.6.4 ..... A Host value may be a hostname or an IP number, or 'localhost' to indicate the local host.

注意:雖然兩者連接方式有區別,但當localhost 為默認的127.0.0.1時,兩種連接方式使用的權限記錄都是以下的1.row的記錄(因為記錄在前,先被匹配)

*************************** 1. row ***************************
                 Host: localhost
                 User: root
......

*************************** 2. row ***************************
                 Host: 127.0.0.1
                 User: root

證明:


shell> mysql -h 127.0.0.1
mysql> status;

Current user:           [email protected]

SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.1.33-log Source distribution
Protocol version:       10
Connection:          127.0.0.1 via TCP/IP

shell> mysql -h locahost
mysql> status;

Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.1.33-log Source distribution
Protocol version:       10
Connection:          Localhost via UNIX socket

shell> mysql -h XXXX(ip)

mysql> status;

Current user:           root@ip

SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.1.33-log Source distribution
Protocol version:       10
Connection:          XXXX(ip) via TCP/IP

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved