MySQL 使用者主機名稱:'localhost' 與'%'
在建構MySQL 資料庫時,通常需要建立多個使用者獨特的存取權限。在決定是否指定「%」或「localhost」作為這些使用者的主機名稱時,出現了一個常見的爭論。這個問題深入探討了這兩個主機名稱之間的差異。
問題:
開發人員堅持為兩個使用者(appuser 和support)建立四個使用者帳號:
這裡的問題是為什麼這樣的設定是必要的,考慮到“%”通配符似乎會覆蓋“localhost”。
答案:
主機名稱「localhost」在 MySQL 中具有特殊意義。與適用於 любых TCP/IP 連線的「%」通配符不同,而「localhost」專門指透過 UNIX 套接字(或 Windows 系統上的命名管道)建立的連線。
在 MySQL 中,「%」-通配符不包括 localhost,因此有必要將其明確指定為單獨的主機名稱。此設定允許對來自不同網路介面的使用者存取進行細粒度控制。透過為每個使用者指定“%”和“localhost”,可以實現以下效果:
以上是為什麼在定義 MySQL 使用者主機名稱時同時使用 \'%\' 和 \'localhost\'?的詳細內容。更多資訊請關注PHP中文網其他相關文章!