MariaDB สตาร์ทไม่ขึ้นควรทำอย่างไร ให้ผมตอบผมก็จะตอบว่า ดู error log ดูก่อนว่าปัญหาเกิดจากอะไร แล้วค่อยหาทางแก้ปัญหากันต่อไป สำหรับผู้ใช้งาน MariaDB เวอร์ชัน 5.x ก็จะไม่มีปัญหา จะมีไฟล์ error log อยู่ใน /var/lib/mysql ไฟล์จะเป็น ชื่อโอส.err ซึ่งเราสามารถเปิดอ่านได้เลย แต่พอมาเป็น MariaDB 10.x error log เปลี่ยนไป ถ้าเราไม่ระบุพาธ และชื่อไฟล์ ของ error log ใน my.cnf มันจะไปรวมอยู่กับ log ของระบบลีนุกซ์ นั่นก็คือ /var/log/messages ซึ่งมันจะปนกับ log ของระบบ ซึ่งเราจะดูได้ยาก MariaDB สตาร์ทไม่ขึ้นควรทำอย่างไร มาดูเรื่อง error log กันก่อนครับ
ถ้ายังไม่ระบุตำแหน่งและชื่อไฟล์ใน my.cnf ให้ไปดูที่ไฟล์ /var/log/messeges
จะเห็นได้ว่าข้อความ error ของ MariaDB จะปนกับ log ของระบบลีนุกซ์ ซึ่งทำให้ดูยาก จะดีกว่าถ้าทำให้ error log ของ MariaDB อยู่ในที่เดียว สามารถทำได้โดยการเพิ่ม option ไปในไฟล์ my.cnf ลงในส่วนของ [mysqld] ดังภาพ
เพิ่มบรรทัดนี้ ในส่วนของ [mysqld]
log_error = /var/lib/mysql/mariadb.err
ชื่อไฟล์จะตั้งชื่ออะไรก็ได้ตามต้องการ พาธก็เช่นกัน อาจะเอาไว้ที่ /var/log ก็ได้แล้วแต่ถนัด
เมื่อเราได้บันทึกไฟล์เรียบร้อยแล้วเราก็สั่งรีสตาร์ทเซอร์วิสของ MariaDB ได้เลย
# systemctl restart mariadb.service
จะมีไฟล์ mariadb.err เพิ่มขึ้นมาใน /var/lib/mysql
เราก็สามารถเปิดไฟล์นี้ขึ้นมาอ่านโดยที่ไม่มี Log ของระบบลีนุกซ์มารบกวนสายตา
ส่วนเรื่องการแก้ปัญหา ก็ดูให้จาก error ว่าเกิดปัญหาอะไร เช่นตัวอย่างนี้มันไม่รู้จักตัวแปร innodb_support_xa=0 เราก็ไปเอาออกจากไฟล์ my.cnf หากเอาออกแล้วยังสตาร์ทไม่ได้อีก ก็ต้องกลับมาดูที่ error log อีก ว่าเกิดจากอะไร
เราไม่สามารถมโนเอาแล้วจะสตาร์ทสำเร็จนะครับ error log จึงสำคัญด้วยประการฉะนี้
อ้างอิง : https://mariadb.com/kb/en/error-log/