วิธีกู้ Mysql Database Start ไม่ขึ้นใน Directadmin

หลายคนอาจจะเคยปัญหา Database พังใน Directadmin ซึ่งเกิดจาก innodb มีปํญหานั่นเอง

เริ่มต้น แก้ไขไฟล์ my.cnf

ใส่ innodb_force_recovery=1 แล้ว start mysql ตามปกติ ถ้าไม่ขึ้นให้แก้เป็น 2 3 4 5 6 กรณี mysql ไม่ขึ้นก็ทำใจไว้เลยว่าเจ๊งจริงๆ ล่ะ

เมื่อ DB ขึ้นแล้ว มันจะอ่านได้อย่างเดียว ไม่สามารถ update ข้อมูลใน DB ได้

ให้ทำการ Backup เฉพาะ Database ใน DA (ตรงส่วน Admin Backup/Transfer)

อีกอันอย่าลืม ถ้ามี roundcube ให้ทำการ export database da_roundcube มาไว้ก่อน

เมื่อ Backup เรียบร้อยแล้ว ให้ทำการ stop mysql

ลบข้อมูลทั้งหมดใน folder ที่เก็บข้อมูล mysql ยกเว้น folder ดังนี้

mysql*
performance_schema

จากนั้นไปเอา บรรทัด innodb_force_recovery=1 ออก แล้ว start mysql ตามปกติ

เรียบร้อยก็ทำการ import da_roundcube

ขึ้นตอนสุดท้าย ให้ทำการ Restore Backup ของ DA ที่ทำไว้

ทุกอย่างก็จะกลับมาปกติ

9 Likes

แนะนำเพิ่มเติม
เปลี่ยนจาก ลบทิ้ง เป็นเปลี่ยนชื่อ folder แล้ว copy มาเฉพาะ folder mysql* + performance_scheme จะดีกว่า
ถ้า restore ผ่านก็ค่อยลบทิ้งทีหลัง ถ้า restore ไม่ผ่านติดตรงใหน ยังมีของเก่าให้กู้

3 Likes

ขอถามเพิ่มเติมหน่อยครับ ก่อนที่จะเป็นปัญหานี้มีอะไรที่เป็นสาเหตุที่ทำให้เกิดปัญหานี้หรือเปล่าครับ
อย่างเช่น สั่งรีบูตเครื่องขณะที่เครื่องยังทำงานอยู่แต่รีโมทเข้าเซิร์ฟเวอร์ไม่ได้ หรืออยู่ๆ มันเป็นของมันเองครับ

ขอบคุณครับ :slight_smile:

ขอบคุณมากครับเป็นประโยชน์มากๆ