การเริ่มต้น MySQL สร้าง“ เซิร์ฟเวอร์ออกโดยไม่อัปเดตไฟล์ PID”


3

ฉันได้ดู Stack Overflow, Superuser อย่างแท้จริงแล้วฉันไม่สามารถหาวิธีแก้ไขปัญหาที่ฉันประสบอยู่ตอนนี้เมื่อฉันต้องการเริ่ม MySQL มันสร้างข้อผิดพลาดนี้:

ข้อผิดพลาด! เซิร์ฟเวอร์ออกโดยไม่อัปเดตไฟล์ PID (/usr/local/var/mysql/My-Username.local.pid)

ด้วยsudo mysql.server startคำสั่งอย่างไรก็ตามถ้าฉันเพียงแค่ใช้mysqlคำสั่งมันจะผลิต:

ข้อผิดพลาด 2002 (HY000): ไม่สามารถเชื่อมต่อกับเซิร์ฟเวอร์ MySQL ภายในผ่านซ็อกเก็ต '/tmp/mysql.sock' (2)

ซึ่งเป็นปัญหาอื่นที่ฉันไม่สามารถแก้ไขได้ฉันไม่ทำtouch /tmp/mysql.sockอะไรเลย

ฉันได้chown'ง/usr/local/var/mysqlด้วยmysql:mysqlซ้ำ แต่นั่นก็ไม่ได้ช่วยเลย

ฉันติดตั้ง MySQL ผ่าน homebrew บน OS X 10.7.3 ฉันจะเริ่ม MySQL ได้อย่างไร

คำตอบ:


2

เรา (ตัวเองและคุณเบิร์นนิ่ง) ทำการวินิจฉัยบางอย่างในการแชทและฉันจะให้รายละเอียดสิ่งที่เราพบ:

สาเหตุของปัญหาของเขาคือ MySQLd นั้นกำลังทำงานอยู่ในระดับหนึ่งแล้ว นี่อาจเป็น MySQL รุ่นก่อนหน้าที่ติดตั้งจาก Homebrew ซึ่งยังคงทำงานหลังจากอัปเกรดไบนารี / ไลบรารี

ความละเอียดของเราคือการฆ่ากระบวนการทำงานทั้งหมด จากนั้นการเปิดตัวของ OS X ก็ใช้งานได้และรีสตาร์ท MySQLd ซึ่งทำงานอย่างแน่นอนตามที่ติดตั้งโดย Homebrew

ที่ดูเหมือนจะแก้ไขปัญหา


หากทุกครั้งจะฆ่ากระบวนการทำงานหรือไม่ และkill all of the running processes.หมายความว่าฆ่าmysqldและmysql?
เครื่องบิน

1

เคยมีข้อผิดพลาดที่ MySQL จะมองหาซ็อกเก็ตของมัน ฉันคิดว่านี่เป็นปัญหาของคุณเช่นกัน ฉันค้นพบมันเมื่อหลายปีก่อนเมื่อใช้ phpMyAdmin

ดูเหมือนว่าจะมีปัญหากับ OS X รุ่นปัจจุบันจัดเก็บซ็อกเก็ต mysql และวิธีที่ phpMyAdmin ค้นหา ดูเหมือนว่าในปัจจุบันซ็อกเก็ตจะถูกเก็บไว้ที่/tmp/mysql.sockแต่ phpMyAdmin /var/mysql/mysql.sockที่กำลังมองหาได้ที่ ผลลัพธ์เป็นข้อผิดพลาดการเชื่อมต่อประเภท # 2002

นี่คือทางออก สร้าง symlink ทำสิ่งต่อไปนี้จากเครื่องเทอร์มินัล

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock

1
อืมมม แต่นั่นไม่ได้เปลี่ยนแปลงอะไรเลย - ยังไม่สามารถเชื่อมต่อกับ mysql ได้
MacMac

ยังไม่สามารถเชื่อมต่อกับ mysql
niksmac

0

ในที่สุดก็แก้ปัญหานี้ ... (3 วันต่อมา)

  1. เปิด YOURUSERNAME.local.err ใน / Applications / XAMPP / xamppfiles / var / mysql / ด้วยโปรแกรมแก้ไขข้อความ
  2. ฉันมี "InnoDB: ฐานข้อมูลของคุณอาจเสียหายหรือคุณอาจคัดลอก tablespace InnoDB แต่ไม่ใช่ไฟล์บันทึก InnoDB"
  3. จากนั้นทำตามคำแนะนำในhttp://dev.mysql.com/doc/refman/5.6/en/forcing-innodb-recovery.htmlตามที่ระบุในไฟล์บันทึก
  4. เพิ่ม "innodb_foce_recovery = 2" หลังจากบรรทัด: [mysqld] ไปยัง my.cnf ของคุณที่อยู่ใน / XAMPP / xamppfiles / etc /
  5. จากนั้น "sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start" ให้เวลาสักครู่และควรซ่อมแซมตัวเอง
  6. แสดงความคิดเห็นด้วย "#innodb_foce_recovery = 2" ใน my.cnf
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.