การตรวจสอบฐานข้อมูลด้วย Slow query log

วิธีการนี้มีประโยชน์ สำหรับตรวจสอบว่ามี ฐานข้อมูลไหนบ้างใน Server ที่มีการ query ฐานข้อมูลเป็นระยะเวลานานกว่าปกติ

เนื่องจากฐานข้อมูลที่มีการ query ฐานข้อมูลนานๆ นั้นมักจะเป็นฐานข้อมูลที่มีปัญหาครับ หรือมีการใช้งานที่ผิดปกติครับ

หากเราปล่อยไว้ slow query สะสมไว้มากๆ จะทำให้ประสิทธิภาพในการทำงานของ Server ลดลง จนอาจทำให้ Service Mysql ค้างได้ครับ


แก้ไข /etc/my.cnf เติมตรงนี้เข้าไปใน section ของ [mysqld] ครับ

log_slow_queries = /var/log/mysql/mysql-slow.log

long_query_time = 1


เสร็จแล้วสร้าง Directory กับเตรียม permission ให้เรียบร้อย เพื่อให้ mysql เขียน log ให้เราใน Directory นั้น

mkdir -p /var/log/mysql

chown mysql:mysql /var/log/mysql


เสร็จแล้ว restart mysql ครับ

service mysqld restart


ตรวจสอบ Log นี้ได้ที่

/var/log/mysql/mysql-slow.log


ปล.

ถ้า restart แล้ว error ลองเปลี่ยนคำว่า log_slow_queries เป็น slow_query_log_file ดูครับ

Was this answer helpful?

 Print this Article

Also Read

การตั้งค่า charset มาตรฐานให้ MySQL

ค่ามาตรฐาน Charset ของ MySQL ที่กำหนดมาให้หากเราไม่ตั้งค่าอะไรจะมีค่าเป็น latin1 ครับ...

วิธี Import และ Export Database ผ่าน ssh

หากคุณมีฐานข้อมูลขนาดใหญ่มากจนไม่สามารถ Import และ Export Database ผ่าน phpmyadmin ได้ การเลือก...

วิธีซ่อมแซมฐานข้อมูล MySQL แบบอัตโนมัติ

MySQL Database เมื่อใช้งานไปนานๆ อาจมีตารางที่เสียหายโดยไม่รู้ตัว ทำให้ฐานข้อมูลทำงานช้า และ...