Mysqld.sock ไม่มีอยู่จริง


13

ฉันมีเซิร์ฟเวอร์ MySQL ที่ทำงานบน Amazon EC2 ในอินสแตนซ์ VPC ฉันต้องเปลี่ยนประเภทอินสแตนซ์ของมันเพื่อรองรับการโหลดและเมื่อฉันนำมันกลับมาซ็อกเก็ตไม่ได้อยู่อีกต่อไป ไฟล์ /var/run/mysqld/mysqld.sock ไม่มีอยู่และไม่มีไดเร็กทอรี

ฉันไม่รู้ว่ามันไปที่ไหน แต่เพิ่งหายไป ดังนั้นมีวิธีการแก้ไขที่? ถ้าเป็นเช่นนั้นได้อย่างไร เซิร์ฟเวอร์กำลังใช้งาน Ubuntu 10.04

คำตอบ:


14

ยืนยันว่าไม่มี mysqld.sock

sudo find / -type s | grep mysqld.sock

ตรวจสอบว่า/etc/mysql/my.cnfไฟล์ของคุณตกลงว่าไฟล์ควรเป็น / var / run / mysqld

socket  = /var/run/mysqld/mysqld.sock

และถ้าเป็นเช่นนั้น

sudo mkdir -p /var/run/mysqld
sudo chown mysql /var/run/mysqld/
sudo service mysql restart

แต่ฉันสงสัยว่าปัญหาของคุณอยู่ที่อื่นเพราะสคริปต์เริ่ม mysql จะสร้างไดเรกทอรีหากไม่มีอยู่ มีข้อความที่เกี่ยวข้องในบันทึก MySQL ของคุณหรือไม่


ดูเหมือนว่าจะแก้ไขทุกอย่าง ฉันคิดว่าปัญหาคือว่าฉันใช้ mysqld และ /etc/init.d/mysql เพื่อเริ่มต้นเซิร์ฟเวอร์ แต่ฉันไม่เคยลองใช้วิธีการบริการ นั่นเป็นสิ่งเดียวเท่านั้นที่จะสร้างไดเรกทอรีและซ็อกเก็ต
เดฟยาว

1
แปลกฉันได้รับนี้ทุกครั้งที่ฉันเข้าสู่เซิร์ฟเวอร์ของฉัน และทุกครั้งที่ฉันต้องใช้โซลูชันนี้เพื่อแก้ไข จะดีถ้ามีการแก้ไขบางอย่างถาวร
Hermann Ingjaldsson

ฉันได้รับข้อผิดพลาดเช่น "ข้อผิดพลาด: ตัวเลือกพบโดยไม่ต้องมีกลุ่มก่อนหน้านี้ในไฟล์กำหนดค่า: /etc/mysql/my.cnf ที่บรรทัด: 24 ข้อผิดพลาดร้ายแรงในการจัดการค่าเริ่มต้นโปรแกรมถูกยกเลิก"
Blairg23

ขอบคุณ .. ฉันมีปัญหาเดียวกันฉันแก้ไขไฟล์ /etc/mysql/my.cnf และเพิ่ม socket = /var/run/mysqld/mysqld.sock เซิร์ฟเวอร์ mysql เริ่มทำงานหลังจาก restrat
Bhagvat Lande
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.