MAMP - phpMyAdmin#2002 - 无法通过socket'/Applications/MAMP/tmp/mysql/mysql.sock'连接到本地MySQL服务器

Yam*_*man 11 mysql sockets mamp phpmyadmin

我正在研究MAMP phpMyAdmin,一切顺利,直到我ALTER TABLE从SQL选项卡查询语句.操作太长了,所以我决定刷新我的页面.从这时起,我再也无法访问phpMyAdmin了,我总是有这样的消息:

#2002 - Can't connect to local MySQL server through socket '/Applications/MAMP/tmp/mysql/mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)

我在网上尝试了很多东西,包括Stackoverflow,Server Fault,...比如重新安装MAMP,符号链接/tmp/mysql.sock,修改config.inc.php等,但没有任何效果.

从命令行运行时一切都很好mysql:

$ /Applications/MAMP/Library/bin/mysql -u root -p
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.5.29 Source distribution

mysql> SHOW SCHEMAS;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0,65 sec)
Run Code Online (Sandbox Code Playgroud)

mysqld 运行正常:

$ ps -e | grep mysql
 7007 ??         0:00.03 /bin/sh /Applications/MAMP/Library/bin/mysqld_safe --port=8889 --socket=/Applications/MAMP/tmp/mysql/mysql.sock --lower_case_table_names=0 --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --log-error=/Applications/MAMP/logs/mysql_error_log
 7141 ??         0:00.37 /Applications/MAMP/Library/bin/mysqld --basedir=/Applications/MAMP/Library --datadir=/Applications/MAMP/db/mysql --plugin-dir=/Applications/MAMP/Library/lib/plugin --lower-case-table-names=0 --log-error=/Applications/MAMP/logs/mysql_error_log.err --pid-file=/Applications/MAMP/tmp/mysql/mysql.pid --socket=/Applications/MAMP/tmp/mysql/mysql.sock --port=8889
Run Code Online (Sandbox Code Playgroud)

并且套接字文件存在:

$ ls -la /Applications/MAMP/tmp/mysql/mysql.sock 
srwxrwxrwx  1 user  admin  0 21 avr 16:57 /Applications/MAMP/tmp/mysql/mysql.sock
Run Code Online (Sandbox Code Playgroud)

有人已经遇到过这种问题吗?

thi*_*doo 16

我看到的完全相同.MAMP MySQL正在运行,而这一点来自PHPMyAdmin

MySQL说:

#2002 - Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
Run Code Online (Sandbox Code Playgroud)

服务器没有响应(或未正确配置本地服务器的套接字).

我确实使用:sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock 允许本地PHP CLI访问MAMP MySQL

我在这里找到了phpMyAdmin的配置文件:/Applications/MAMP/bin/phpMyAdmin/config.inc.php

我在配置文件中添加了这个显式路径.

$cfg['Servers'][$i]['socket'] = '/Applications/MAMP/tmp/mysql/mysql.sock';
Run Code Online (Sandbox Code Playgroud)

现在它工作:)