自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL主機127.0.0.1與localhost區(qū)別總結(jié)

數(shù)據(jù)庫 MySQL
可能有很多朋友都會碰到一個問題不知道127.0.0.1與localhost有什么區(qū)別,但是有的時間會發(fā)現(xiàn)使用localhost連接不了,但是改成127.0.0.1即可了連接了,那么他們會有什么區(qū)別呢,下面我給大家介紹。

可能有很多朋友都會碰到一個問題不知道127.0.0.1與localhost有什么區(qū)別,但是有的時間會發(fā)現(xiàn)使用localhost連接不了,但是改成127.0.0.1即可了連接了,那么他們會有什么區(qū)別呢,下面我給大家介紹。

[[232202]]

  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"有特定含義:

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

  1. *************************** 1. row ***************************  
  2. Host: localhost  
  3. User: root  
  4. ......  
  5. *************************** 2. row ***************************  
  6. Host: 127.0.0.1  
  7. User: root  

 

證明:
  1. shell> mysql -h 127.0.0.1  
  2. mysql> status;  
  3. Currentuser: root@localhost  
  4. SSL: Notin use  
  5. Current pager: stdout  
  6. Using outfile: ''  
  7. Using delimiter: ;  
  8. Server version: 5.1.33-log Source distribution  
  9. Protocol version: 10  
  10. Connection: 127.0.0.1 via TCP/IP  
  11. shell> mysql -h locahostmysql> status;  
  12. Currentuser: root@localhost  
  13. SSL: Notin use  
  14. Current pager: stdout  
  15. Using outfile: ''  
  16. Using delimiter: ;  
  17. Server version: 5.1.33-log Source distribution  
  18. Protocol version: 10  
  19. Connection: Localhost via UNIX socket  

發(fā)現(xiàn)問題

昨天在幫同事編譯安裝Linux環(huán)境時,遇到一個問題:

Web服務器是apache,數(shù)據(jù)庫是MySQL。

于是寫了一個測試連接數(shù)據(jù)庫的PHP頁面:

  1. $mysql = mysql_connect('localhost','root',''); 

 

打開 http://localhost/test.php 測試

提示:Can’t connect to local MySQL server through socket...

檢查環(huán)境正常

以為是數(shù)據(jù)庫沒有啟動,于是查看一下進程,MySQL在進程里,重啟了一下MySQL.

使用mysql -u root -p 可以進入MySQL操作界面

直接使用/usr/local/php5/bin/php /web/test.php執(zhí)行可以連上數(shù)據(jù)庫

apache也重啟了,一樣無效

疑點:為何網(wǎng)頁執(zhí)行失敗,命令執(zhí)行卻成功

這下就郁悶了,使用php命令直接執(zhí)行就成功,通過網(wǎng)頁執(zhí)行就失敗。難道是apache導致?網(wǎng)上搜索了大堆資料也沒找到解決方案,重新編譯安裝apache問題依舊。

把localhost改成127.0.0.1成功

把localhost改成127.0.0.1后竟然連接成功了,開始陷入思考困局:localhost失敗127.0.0.1卻成功?

ping localhost 地址是127.0.0.1沒錯

打開hosts加入

  1. 127.0.0.1 qttc 

 

使用qttc當主機連接也正常,唯獨就不認localhost。

localhost連接方式不同導致

為了了解PHP連接數(shù)據(jù)庫時,主機填寫localhost與其它的區(qū)別閱讀了大量資料,***得知:

當主機填寫為localhost時mysql會采用 unix domain socket連接

當主機填寫為127.0.0.1時mysql會采用tcp方式連接

這是linux套接字網(wǎng)絡的特性,win平臺不會有這個問題

解決方法

在my.cnf的[mysql]區(qū)段里添加

  1. protocol=tcp 

 

保存重啟MySQL,問題解決!  

責任編輯:龐桂玉 來源: 今日頭條
相關推薦

2024-03-05 18:59:59

前端開發(fā)localhost

2024-05-27 00:40:00

2024-03-05 18:19:07

localhostLinux數(shù)據(jù)庫

2024-05-27 00:00:00

localhostIPv6IPv4

2024-09-12 15:28:38

localhost?網(wǎng)絡IPv4

2024-12-04 10:12:06

2024-04-12 00:00:00

localhost計算機機制

2010-02-24 14:30:55

Linux系統(tǒng)

2011-05-11 11:16:56

OracleMysql

2010-05-19 16:57:49

SVN與CVS的區(qū)別

2021-06-15 23:04:17

Localhost域名網(wǎng)絡

2019-10-28 14:37:10

MySQL 數(shù)據(jù)庫收藏

2024-09-14 11:36:02

2018-07-13 17:05:22

SQLMySQL數(shù)據(jù)庫

2009-02-10 16:26:00

服務器租用虛擬主機租用

2015-07-22 17:32:22

mysql常用命令

2018-01-19 12:33:17

數(shù)據(jù)庫OracleMySQL

2022-02-09 14:47:28

cookie瀏覽器服務器

2010-11-26 13:40:58

MySQL空字符串

2023-12-08 13:40:24

HbaseMySQL數(shù)據(jù)庫
點贊
收藏

51CTO技術棧公眾號