簡體   English   中英

如何解決“無法通過套接字連接到本地MySQL服務器”

[英]How to solve “Can't connect to local MySQL server through socket”

這是我的配置文件:

$mysql_hostname = "localhost";
$mysql_user = "xyz";
$mysql_password = "abc";
$mysql_database = "mno";

$IT = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Opps some thing went wrong");
mysql_select_db($mysql_database, $IT) or die("Opps some thing went wrong");

以下是我從中獲得的警告:

警告:mysql_connect()[function.mysql-connect]:無法通過/ home / content / 03/10531303 / html /中的套接字'/var/lib/mysql/mysql.sock'(2)連接到本地MySQL服務器第13行的iqamah.org/config.php

我怎樣才能解決這個問題?

請指定您正在運行的系統。 如果憑據沒問題,這可能是mysql服務器的問題。 如果您使用的是Linux,請檢查此行是否在控制台上返回了某些內容。 如果沒有,您的服務器沒有運行:

# netstat -apn | grep mysql

您也可以嘗試在這里連接到mysql,以便檢查您的憑據是否正常:

# mysql -h localhost -u user database

如果你在Windows上,只需檢查服務是否正在運行:

  1. WindowsKey + R.
  2. 輸入services.msc
  3. 檢查msyql服務是否正在運行。

我有完全相同的問題

  1. 我驗證了mysql.sock存在
  2. 在database.php配置文件中將localhost更新為127.0.0.1。 (user166390評論)
  3. 我還在admin / expressionengine /文件夾中為日志創建了一個文件夾
  4. 在config.php文件中配置了錯誤日志級別
  5. 以及同一個config.php文件中日志文件夾的路徑

希望能幫助任何人解決同樣的問題。 特別是當日志文件夾不存在以進行故障排除時。

僅當連接參數錯誤時才會出現錯誤,請確保以下憑據正確無誤

$mysql_hostname = "localhost";
$mysql_user = "xyz";
$mysql_password = "abc";

如果無法連接數據庫,則意味着執行過程中的某個位置存在問題。 修改主機名,用戶,密碼和數據庫名稱。 然后確保數據庫是否真的在您的服務器上,並且您已將代碼寫入您的代碼 - 使用終端或類似的東西登錄...

但是on line 13意味着你必須在第13行搜索問題。檢查這一行。

首先檢查你的數據庫是否正在監聽; 通過調用來做到這一點

netstat -a 

你應該看到這樣的東西

TCP    0.0.0.0:3306           MyComputer:0               LISTEN

如果您沒有在端口3306上看到監聽過程,則您的數據庫未正確啟動或使用其他端口。 仔細檢查您的環境。 如果是WAMP / LAMP系統,您可以查看管理頁面上的phpinfo()部分( mysqli部分)

如果您的端口與標准端口不同,請嘗試添加適當的端口,例如

$link = mysql_connect('example.com:3331', 'mysql_user', 'mysql_password');

希望這可以幫助。

<警告:mysql_connect():無法通過socket'/var/lib/mysql/mysql.sock'連接到本地MySQL服務器

從這里讀完一些好的建議后。 我為我工作了。 我嘗試刪除“localhost”並添加127.0.0.1,它像魔術一樣工作,每個人都在這里貢獻

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM