ก่อนอื่นการทราบว่าไดเรคทอรีข้อมูลสำหรับฉันคือกุญแจสำคัญ /usr/local/var/mysql
ในที่นี่มีไฟล์อย่างน้อยหนึ่งไฟล์ที่มีนามสกุล .err นำหน้าด้วยชื่อเครื่องของฉัน มันมีข้อมูลทั้งหมดที่ฉันต้องการในการวินิจฉัย
ฉันคิดว่าฉันเมาด้วยการติดตั้ง mysql 8 ก่อน แอพของฉันไม่รองรับมันดังนั้นฉันต้องปรับลดรุ่นกลับเป็น 5.7
โซลูชันของฉันที่ใช้งานได้สำหรับฉันคือไปที่ /usr/local/etc/my.cnf
หาบรรทัดนี้ถ้ามันอยู่ตรงนั้น ฉันคิดว่า mysql 8 ที่เกี่ยวข้อง:
mysqlx-bind-address = 127.0.0.1
ลบออกเพราะใน mysql 5.7 บอกว่ามันไม่ชอบในบันทึกข้อผิดพลาด
เพิ่มบรรทัดนี้ด้วยหากไม่อยู่ภายใต้การผูกที่อยู่
socket=/tmp/mysql.sock
ไปที่ /tmp
ไดเรกทอรีและลบไฟล์ mysql.sock ใด ๆ ในนั้น เมื่อเซิร์ฟเวอร์เริ่มต้นมันจะสร้างไฟล์ sock ขึ้นมาใหม่
ทิ้งไดเรกทอรีข้อมูลด้วย mySQL ในสถานะหยุดทำงาน ของฉันคือ /usr/local/var/mysql
เหมืองนี่เป็นสถานที่เดียวกันกับที่บันทึก
จากนั้นฉันก็วิ่ง
>mysqld --initialize
จากนั้นทุกอย่างก็เริ่มทำงาน ... คำสั่งนี้จะให้รหัสผ่านแบบสุ่มแก่คุณในตอนท้าย บันทึกรหัสผ่านนั้นสำหรับขั้นตอนต่อไป
ใช้สิ่งนี้เพื่อกำหนดรหัสผ่านของฉันเอง
>mysql_secure_installation
ทั้งสอง
>brew services stop mysql@5.7
และ
>mysql.server start
กำลังทำงานอยู่ หวังว่านี่จะช่วยได้ มันใช้เวลาประมาณ 3 ชั่วโมงในการลองผิดลองถูก