Tháng 11 năm 2014: Nếu bạn gặp lỗi này trên MySQL 5.6.x trên Mac OS X Mavericks hoặc Yosemite và muốn sử dụng MySQL với PHP cục bộ (/tmp/mysql.sock là nơi PHP PDO dự kiến sẽ tìm thấy tệp sock), đây là những gì đã sửa nó cho tôi:
1) Bỏ ghi chú các dòng tệp cấu hình homebrew mặc định và chỉnh sửa như bên dưới
$ 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 là những gì bạn có trong Tùy chọn hệ thống -> Mạng làm id duy nhất cho máy tính của bạn trên mạng.
2) Đặt quyền trên tất cả các tệp trong datadir mysql. Tất cả đều thuộc sở hữu của [my_username]. MySQL rất kén chọn điều này và từ chối tạo tệp pid trừ khi nó (người dùng _mysql) sở hữu thư mục.
$ sudo chown -R _mysql:mysql /usr/local/var/mysql
3) Khởi động MySQL bằng tập lệnh bash helper / wrapper:
$ sudo mysql.server start
Starting MySQL
. SUCCESS!
Hy vọng rằng sẽ giúp. Nếu cách trên không hiệu quả với bạn, hãy thử chạy nhị phân mysqld_safe theo cách thủ công trong thư mục Cellar / mysql / VERSION_ / bin / và kiểm tra cài đặt là gì (nếu nó chạy)
sudo /usr/local/Cellar/mysql/5.6.12/bin/mysqld_safe &
Nếu điều đó chạy, bạn có thể
ps aux | grep mysql
và xem một cái gì đó giống như
[username] 6881 0.0 2.7 3081392 454836 ?? S 8:52AM 0:00.54 /usr/local/Cellar/mysql/5.6.21/bin/mysqld
Tôi không chắc tại sao điều đó lại hiệu quả với tôi nhưng nó cho bạn biết tôi lấy các tùy chọn tệp cấu hình my.cnf từ đâu. Bạn cũng có thể sử dụng các tùy chọn dòng lệnh để cố gắng khắc phục sự cố khi khởi động mysqld theo cách thủ công.
Nếu bạn chạy quản lý để chạy máy chủ MySQL bằng mysqld_safe, bạn có thể phải làm điều này để tắt nó trước khi thử trình trợ giúp bash mysql.server. Không muốn giết -9 [PID] vì bạn có thể làm hỏng dữ liệu của mình.
mysqladmin -uroot shutdown
Chúc may mắn!
sudo chown -R _mysql:_mysql /usr/local/var/mysql