[英]Can't start phpMyAdmin. Keep getting the #2002 socket error
我一直試圖在過去12小時內設置mysql和phpMyAdmin,但沒有任何成功。 是的,經過幾個小時的Google-ing后,我知道這是一個常見的問題,我已經在stackoverflow上閱讀了類似的查詢,但仍然無法提供解決方案.....
我已經嘗試了一切 - 從改變
$cfg['Servers'][$i]['port']
在config.inc.php
文件3306
, 127.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。
我遇到的問題是因為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,在我的情況下,我嘗試了以上所有但是它仍然不適合我,所以我做了以下事情:
在我們觸摸之前備份(即在Mac上,右鍵單擊並復制)“config.inc.php”文件。 你可以調用或重命名它“config_old.inc.php”
在您喜歡的IDE或文本編輯器中打開該文件。
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.