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

連接MYSQL時,主機名為localhost和127.0.0.1的區別

編輯:MySQL綜合教程

如果仔細查看MYSQL的權限表,會發現存在主機名為 localhost 的記錄,也存在主機名為 127.0.0.1 的記錄,那這兩著分別在什麼時候會用到呢?

使用 /usr/local/mysql/bin/mysql -u root -p訪問MYSQL服務器的時候,如果使用了 -h 參數,mysql 就會通過 TCP/IP 的方式去連接服務器;如果沒有 -h 參數,默認會使用 UNIX socket 方式。

如果通過 TCP/IP 方式進來的連接,MYSQL服務器接收到的來源主機是 127.0.0.1;如果是 UNIX socket 方式,MYSQL服務器接收到的來源主機是 localhost。

如果MYSQL服務器開啟了 skip_name_resolve,MYSQL服務器就不會把接收到的 IP 地址轉化為域名,所以前者的current_user就是 root@'127.0.0.1',後者的current_user就是 root@'localhost'。

如果按照MYSQL的默認配置,skip_name_resovle 是OFF,MYSQL服務器就會將 127.0.0.1 轉換為 localhost,那麼前者和後者兩種連接的 current_user 都是 root@'localhost'

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