แค่เว็บๆหนึ่ง ! ที่อยากเก็บประสบการณ์
Home
 

วิธีตั้งค่าให้ mysql เก็บ log query ที่ทำงานช้า ไว้ในไฟล์ เพื่อนำมาแก้ปัญหา

1.Log in เข้า  mysql

# mysql

2. กำหนด path สำหรับเก็บ log. และค่าต่างๆ ดังนี้  เช่น ตัวอย่างผมเก็บไว้ที่
#pico  /var/log/mysql/slow_query.log

mysql> SET GLOBAL slow_query_log_file = '/var/log/mysql/slow_query.log'; 
mysql> SET GLOBAL long_query_time = 10; 
mysql> SET GLOBAL slow_query_log = 'ON';
mysql> FLUSH LOGS; 
mysql> SET GLOBAL log_queries_not_using_indexes = 'YES';

3. จากนั้น Save   แล้วไปสร้างไฟล์เพื่อเก็บ log ตาม ข้อ 2.

#touch  /var/log/mysql/slow_query.log
#chown mysql:mysql /var/log/mysql/slow_query.log

4.ทดสอบ เรียก Query หนักๆๆๆ  แล้ว ดูการเก็บ log

#tail -f  /var/log/mysql/slow_query.log

5. เมื่อได้แล้ว ให้ไปเขียนใน /etc/my.cnf  เพื่อให้ทำงานทุกครั้งที่มีการ restart

[mysqld]
...
#slow query
slow_query_log = 1
slow_query_log_file="/var/log/mysql/log-slow-queries.log"
log_queries_not_using_indexes
long_query_time = 10

ลองนำไปใช้ดูนะครับ

Off 

January 18, 2016 This post was written by Categories: เรื่องเล่ารายวัน No comments yet


Top