問題:
Centos系統下,使用mysql資料庫。當主機名稱使用 127.0.0.1 時可以連線成功,使用 localhost 就會連線失敗。
分析:
連接mysql資料庫有兩種方案。
1、TCP/IP (網路連線)
TCP/IP套接字連接方式是MySQL在任何平台都提供的一種連接方式,也是網路中使用最多的一種方式。這種方式在TCP/IP連線上建立一個基於網路的連線請求,一般情況下客戶端在一台伺服器上,而MySQL實例則在另外一台伺服器上,這兩台機器透過TCP/IP網路連線
2、Unix網域套接字連線(非網路連線)
在Linux和Unix環境下,也可以使用Unix域套接字連線。 Unix網域套接字其實不是網路協議,所以只能使用MySQL客戶端和資料庫執行個體在同一台伺服器上的情況下使用。可以在設定檔中指定套接字檔案路徑,如-socket=/tmp/mysql.sock。
(推薦教學:centos使用教學)
解決方案:
1、查看本機mysql 的socket檔位置
mysqld --verbose --help | grep socket
2、在查詢到的結果中找到類似的一條
socket /var/run/mysqld/mysqld.sock
3、在php設定檔中,找到以下項目:
mysql.default_socket =
4、修改為:
mysql.default_socket = 找到的socket路径
5、儲存文件,並重新啟動php-fpm
相關影片教學推薦:linux影片教學
以上是centos使用localhost無法連線資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!