簡體   English   中英

無法啟動phpMyAdmin。 繼續得到#2002套接字錯誤

[英]Can't start phpMyAdmin. Keep getting the #2002 socket error

我一直試圖在過去12小時內設置mysql和phpMyAdmin,但沒有任何成功。 是的,經過幾個小時的Google-ing后,我知道這是一個常見的問題,我已經在stackoverflow上閱讀了類似的查詢,但仍然無法提供解決方案.....

我已經嘗試了一切 - 從改變

$cfg['Servers'][$i]['port']

config.inc.php文件3306127.0.0.1 ....

config.inc.php文件中輸入套接字路徑 - tmp/mysql.php/var/mysql/mysql.sock

我已經嘗試更改my.cnf文件和php.ini中的套接字路徑....但我一直得到同樣的錯誤:

#2002 - No such file or directory
The server is not responding (or the local server's socket is not correctly configured).

我正在使用MySQL(5.1.65),PhpMyAdmin(3.5.2.2)和PHP(5.3.8)。

我最近在Mac OS Sierra上遇到過這個問題。 Apache服務器正在運行,但mysql不行。 在尋找解決方案后,閱讀了很多帖子,我找到了這個解決方案。 它奏效了!

解決方案是導航到mysql文件夾,在我的情況下,它,

/Applications/MAMP/db/mysql56/

並刪除除文件夾以外的所有文件。 然后再次重啟MAMP。

  1. 退出MAMP
  2. 打開終端
  3. 鍵入:killall -9 mysqld重啟MAMP

我遇到的問題是因為PHP試圖通過UNIX套接字而不是TCP進行連接。 這類似於此錯誤: 使用PHP / PDO連接到MySQL時出錯

首先,確保你有mysql的my.cnf配置然后添加你的默認套接字位置:

[mysqld_safe] socket = /tmp/mysql.sock

接下來在php.ini中,讓PHP知道它在哪里:

mysql.default_socket = /tmp/mysql.sock

由於你沒有提到MAMP,我假設你沒有使用它,所以這是手動安裝,但它可能也適用於MAMP。

根據我的經驗,這是由mysql的socket變量引起的。 默認情況下,MySQL使用/tmp/mysql.sock。

您可以通過登錄MySQL並執行來獲取MySQL套接字變量

show variables like '%socket%'

這將顯示套接字文件的位置。

現在,創建一個php phpinfo()文件,並在mysql或mysqli部分下查找mysql.default_socket。 我的是/var/mysql/mysql.sock。 這表明PHP正在尋找與mysql使用的位置不同的文件。

假設您有相同的值,請打開新終端並輸入

cd /var
mkdir mysql
cd mysql
ln -s /tmp/mysql.sock mysql.sock

這將創建一個指向PHP正在檢查的位置內的mysql套接字文件的鏈接。

PHPMyAdmin現在應該可以工作了。

檢查配置文件:

/* $cfg['Servers'][$i]['host'] = 'localhost'; */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['compress'] = false;

重啟MySQL:OSx: sudo /usr/local/mysql/support-files/mysql.server restart

Linux: sudo service mysql start (舊linux: sudo /etc/init.d/mysql start

在Windows 7旗艦版,AppServ上出現此問題。 只需重新加載SQL和Apache(但你需要重新加載它們,只重新加載Apache沒有用)。

PHPMyAdmin 4.6.6
Server: Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/5.6.30
Server version: 5.7.17-log - MySQL Community Server (GPL)
PHP: 5.6.30

如果您使用的是homebrew restart mariadb。 我也有同樣的問題,在停止並啟動mariadb后,它又開始工作了。

brew services restart mariadb

我在運行High Sierra的Macbook Pro上使用MAMP,在我的情況下,我嘗試了以上所有但是它仍然不適合我,所以我做了以下事情:

  1. 尋找安裝MAMP的位置,更具體地說,查找位於“/ Applications / MAMP / bin / phpMyAdmin”中的“config.inc.php”文件。

在此輸入圖像描述

  1. 在我們觸摸之前備份(即在Mac上,右鍵單擊並復制)“config.inc.php”文件。 你可以調用或重命名它“config_old.inc.php”

  2. 在您喜歡的IDE或文本編輯器中打開該文件。

在此輸入圖像描述

  1. 尋找以下幾行;

i)$ cfg ['Servers'] [$ i] ['host']

ii)$ cfg ['Servers'] [$ i] ['port']

iii)$ cfg ['Servers'] [$ i] ['socket']

改變自:

$cfg['Servers'][$i]['host'] = 'localhost';

至 :

$cfg['Servers'][$i]['host'] = '127.0.0.1';

改變自:

$cfg['Servers'][$i]['port'] = '3306';

/ 這可能是你的默認值。 只需檢查您的MAMP安裝首選項,按CMD +,然后確認您指定的端口號。 在我的情況下,我已將其更改為8889. /

在此輸入圖像描述

至 :

$cfg['Servers'][$i]['port'] = '8889';

再次取決於你安裝MAMP的位置或更具體的你的mysql。

改變自:

$cfg['Servers'][$i]['socket'] = 'some_folder_path or EMPTY';

至 :

$cfg['Servers'][$i]['socket'] = '/Applications/MAMP/Library/bin/mysql/mysql.sock';

完成此修改后,在Web瀏覽器中保存並刷新。

為我工作。 希望這可以幫助。 干杯。

如果沒有sudo apt-get install mysql-server請檢查mysql-server已安裝

暫無
暫無

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

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