Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ฉันจะเปิดใช้งานบันทึกการสืบค้นช้าของ MySQL โดยไม่ต้องรีสตาร์ท MySQL ได้อย่างไร


เราสามารถเปิดใช้งานบันทึกการสืบค้นช้าของ MySQL ด้วยความช่วยเหลือของคำสั่ง SET

ต่อไปนี้เป็นรูปแบบไวยากรณ์

SET GLOBAL slow_query_log ='Value';

ในไวยากรณ์ข้างต้น สามารถเติมค่าด้วยเปิด/ปิด หากต้องการเปิดใช้งานบันทึกการสืบค้นที่ช้า ให้เราดูการสืบค้นข้อมูล

mysql> SET GLOBAL slow_query_log ='ON';แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.00 วินาที)

ในการตรวจสอบว่าแบบสอบถามช้าเปิดอยู่หรือไม่ ให้ใช้แบบสอบถามต่อไปนี้ -

mysql> แสดงตัวแปรทั่วโลกเช่น 'ช้า\_%';

นี่คือผลลัพธ์

<ก่อนหน้า>+---------------------------+---------------------- ---+| Variable_name | ค่า |+--------------------------+------------------------- -+| slow_launch_time | 2 || slow_query_log | ON | | slow_query_log_file | DESKTOP-QN2RB3H-slow.log |+--------------------------+------------------- --------+3 แถวในชุด (0.00 วินาที)

เราได้ตั้งเวลาการสืบค้นที่ช้าเป็นวินาที เพราะหากการสืบค้นใดเกินวินาทีที่กำหนด ระบบจะเข้าสู่ไฟล์บันทึกการสืบค้นที่ช้า

นอกจากนี้เรายังสามารถตั้งค่าวินาที นี่คือแบบสอบถามเพื่อตั้งค่าวินาที

mysql> SET GLOBAL long_query_time =20;ตกลง, 0 แถวได้รับผลกระทบ (0.00 วินาที)

เพื่อตรวจสอบว่าได้ใส่เวลาหรือไม่

mysql> แสดงตัวแปรทั่วโลกเช่น 'long_query_time';

นี่คือผลลัพธ์ของข้อความค้นหาด้านบนนี้

<ก่อนหน้า>+-----------------+-----------+| Variable_name | ความคุ้มค่า |+-------------------------------------+| long_query_time | 20.000000 |+-------------------------------------+1 แถวในชุด (0.00 วินาที)

หลังจากทำงานข้างต้นแล้ว เราต้องล้างบันทึก

mysql> FLUSH LOGS แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (0.25 วินาที)

หมายเหตุ − เราสามารถปิดการใช้งานอย่างถาวรด้วยความช่วยเหลือของไฟล์ my.cnf ตั้งค่า slow_query_log =0; เพื่อปิดการใช้งาน