พฤศจิกายน 2014: หากคุณได้รับข้อผิดพลาดนี้บน MySQL 5.6.x บน Mac OS X Mavericks หรือ Yosemite และต้องการใช้ MySQL กับ PHP ในเครื่อง (/tmp/mysql.sock เป็นที่ที่ PHP PDO คาดว่าจะพบไฟล์ถุงเท้า) นี่คือสิ่งที่แก้ไขให้ฉัน:
1) ยกเลิกการใส่ข้อคิดเห็นบรรทัดไฟล์กำหนดค่า homebrew เริ่มต้นและแก้ไขดังต่อไปนี้
$ 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 คือสิ่งที่คุณมีใน System Prefs -> Network เป็น ID เฉพาะสำหรับคอมพิวเตอร์ของคุณบนเครือข่าย
2) ตั้งค่าสิทธิ์ในไฟล์ทั้งหมดใน mysql datadir ทั้งหมดนี้เป็นของ [my_username] MySQL เป็นคนพิถีพิถันในเรื่องนี้และปฏิเสธที่จะสร้างไฟล์ pid เว้นแต่ว่า (ผู้ใช้ _mysql) เป็นเจ้าของไดเร็กทอรี
$ sudo chown -R _mysql:mysql /usr/local/var/mysql
3) เริ่ม MySQL โดยใช้ bash helper / wrapper script:
$ sudo mysql.server start
Starting MySQL
. SUCCESS!
หวังว่าจะช่วยได้ หากข้างต้นไม่ได้ผลสำหรับคุณลองเรียกใช้ไบนารี mysqld_safe ด้วยตนเองในไดเร็กทอรี Cellar / mysql / VERSION_ / bin / และตรวจสอบว่าการตั้งค่าคืออะไร (หากทำงาน)
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
ฉันไม่แน่ใจว่าทำไมมันถึงได้ผลสำหรับฉัน แต่มันแสดงให้คุณเห็นว่าฉันได้รับตัวเลือกไฟล์ config my.cnf คุณยังสามารถใช้ตัวเลือกบรรทัดคำสั่งเพื่อพยายามแก้ไขปัญหาเมื่อเริ่ม mysqld ด้วยตนเอง
หากคุณทำการจัดการเพื่อรันเซิร์ฟเวอร์ MySQL โดยใช้ mysqld_safe คุณอาจต้องทำเช่นนี้เพื่อปิดเครื่องก่อนลองใช้ตัวช่วย bash mysql.server ต่อต้านการกระตุ้นให้ฆ่า -9 [PID] เนื่องจากคุณอาจทำให้ข้อมูลเสียหายได้
mysqladmin -uroot shutdown
โชคดี!
sudo chown -R _mysql:_mysql /usr/local/var/mysql