我一直试图在过去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)。
答案 0 :(得分:15)
我最近在Mac OS Sierra上遇到过这个问题。 Apache服务器正在运行,但mysql不行。在寻找解决方案后,阅读了很多帖子,我找到了这个解决方案。它有效!
解决方案是导航到mysql文件夹,在我的情况下是
/Applications/MAMP/db/mysql56/
并删除除文件夹以外的所有文件。然后重新启动MAMP。
答案 1 :(得分:13)
答案 2 :(得分:3)
我遇到的问题是因为PHP试图通过UNIX套接字而不是TCP进行连接。这类似于此错误:Error when connecting to MySQL using PHP/PDO
首先,确保你有mysql的my.cnf配置,然后添加你的默认套接字位置:
[mysqld_safe] socket = /tmp/mysql.sock
接下来在你的php.ini中,让PHP知道它在哪里:
mysql.default_socket = /tmp/mysql.sock
答案 3 :(得分:3)
由于你没有提到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现在可以正常工作。
答案 4 :(得分:2)
检查配置文件:
/* $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
)
答案 5 :(得分:0)
在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
答案 6 :(得分:0)
如果您使用的是homebrew restart mariadb。我也有同样的问题,在停止并启动mariadb后,它又开始工作了。
brew services restart mariadb
答案 7 :(得分:0)
我在运行High Sierra的Macbook Pro上使用MAMP,并且 就我而言,我尝试了上述所有方法,但仍然对我不起作用,因此我进行了以下操作:
在触摸“ config.inc.php”文件之前,先对其进行备份(例如,在Mac上,右键单击并重复)。您可以将其命名为“ 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浏览器中保存并刷新。
为我工作。希望这可以帮助。干杯。
答案 8 :(得分:-2)
检查是否已安装mysql-server
sudo apt-get install mysql-server