2014年11月:如果您在Mac OS X Mavericks或Yosemite的MySQL 5.6.x上遇到此错误,并希望在本地将MySQL与PHP配合使用(/pmp/mysql.sock是PHP PDO希望找到的sock文件的位置),这是为我解决的问题:
1)取消注释默认的自制程序配置文件行,并如下进行编辑
$ sudo vi /usr/local/Cellar/mysql/5.6.21/my.cnf
...
basedir = /usr/local/Cellar/mysql/5.6.21
datadir = /usr/local/var/mysql
port = 3306
server_id = <UNIQUE_NUMBER_HERE_OR_LEAVE_COMMENTED_OUT>
socket = /tmp/mysql.sock
pid-file = /usr/local/var/mysql/[BOXNAME].local.pid
....
BOXNAME是系统偏好设置->网络中具有的名称,它是网络上计算机的唯一ID。
2)对mysql数据目录中的所有文件设置权限。这些都归[my_username]所有。MySQL对此非常挑剔,除非它(用户_mysql)拥有该目录,否则拒绝创建pid文件。
$ sudo chown -R _mysql:mysql /usr/local/var/mysql
3)使用bash帮助程序/包装器脚本启动MySQL:
$ sudo mysql.server start
Starting MySQL
. SUCCESS!
希望能有所帮助。如果上述方法对您不起作用,请尝试在Cellar / mysql / VERSION_ / bin /目录中手动运行mysqld_safe二进制文件,并检查设置(如果运行)
sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe &
如果运行,您可以
ps aux | grep mysql
看到像
[username] 6881 0.0 2.7 3081392 454836 ?? S 8:52AM 0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld
我不确定为什么这对我有用,但是它显示了我从哪里获取my.cnf配置文件选项。您也可以使用命令行选项尝试手动启动mysqld时进行故障排除。
如果确实要使用mysqld_safe运行管理以运行MySQL服务器,则在尝试mysql.server bash助手之前,可能必须执行此操作将其关闭。抵制杀死-9 [PID]的冲动,因为您可能会破坏数据。
mysqladmin -uroot shutdown
祝好运!
sudo chown -R _mysql:_mysql /usr/local/var/mysql