Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk membolehkan log pertanyaan lambat MySQL

Bagaimana untuk membolehkan log pertanyaan lambat MySQL

PHPz
PHPzasal
2023-04-20 10:11:571627semak imbas

Pertanyaan perlahan merujuk kepada pernyataan SQL yang masa pelaksanaannya melebihi masa yang dijadualkan berbanding dengan masa yang dijadualkan. Jika pertanyaan perlahan tidak dipadamkan dalam masa, prestasi pangkalan data yang berjalan pada pelayan mungkin terjejas dengan teruk. Oleh itu, adalah sangat penting untuk membolehkan log pertanyaan lambat MySQL dalam persekitaran pengeluaran.

Log Pertanyaan Perlahan MySQL membantu anda menerbitkan butiran tentang pertanyaan yang berprestasi buruk. Akan sangat membantu apabila mendiagnosis dan menyelesaikan isu prestasi dalam persekitaran pengeluaran. Dalam artikel ini, kami akan memperkenalkan secara terperinci cara mendayakan log pertanyaan lambat MySQL.

Langkah 1: Semak laluan lalai log pertanyaan lambat MySQL

Kita perlu menyemak laluan lalai log pertanyaan lambat MySQL. Pada sistem Linux, log pertanyaan lambat MySQL disimpan dalam fail /var/lib/mysql/hostname-slow.log.

Langkah 2: Edit fail konfigurasi MySQL my.cnf

Untuk mendayakan log pertanyaan lambat MySQL, kita perlu mengedit fail konfigurasi MySQL. Fail my.cnf saya terletak dalam direktori /etc/mysql/.

Buka fail my.cnf menggunakan editor vim.

$ sudo vim /etc/mysql/my.cnf

Langkah 3: Tambahkan kandungan berikut pada fail my.cnf

Tambahkan kandungan berikut pada penghujung fail:

slow_query_log = 1
slow_query_log_file = /var/lib/mysql/ hostname-slow.log
long_query_time = 2

Dalam konfigurasi di atas,

  • slow_query_log ialah pembolehubah suis yang digunakan untuk mendayakan atau melumpuhkan log pertanyaan lambat MySQL. Menetapkan ini kepada 1 membolehkan pengelogan pertanyaan lambat MySQL.
  • slow_query_log_file digunakan untuk menentukan lokasi dan nama fail log pertanyaan lambat MySQL.
  • long_query_time ialah integer yang menyatakan masa yang diperlukan untuk pertanyaan dianggap sebagai pertanyaan perlahan. Dalam contoh ini, kami menetapkannya kepada 2 saat. Dalam erti kata lain, jika masa pelaksanaan melebihi 2 saat, ia akan direkodkan sebagai pertanyaan perlahan.

Selepas mengedit fail my.cnf, simpan dan tutup fail itu.

Langkah 4: Mulakan semula perkhidmatan MySQL

Mulakan semula perkhidmatan MySQL anda untuk perubahan dalam fail my.cnf berkuat kuasa.

$sudo service mysql restart

Langkah 5: Semak log pertanyaan lambat MySQL

Untuk menyemak log pertanyaan lambat MySQL, masukkan arahan berikut:

mysql> SHOW GLOBAL VARIABLES LIKE 'slow_query_log';

Jika MySQL perlahan log pertanyaan telah Jika didayakan, outputnya adalah seperti berikut:

+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | ON    |
+----------------+-------+

Kita boleh menyemak fail log pertanyaan perlahan menggunakan arahan berikut:

$ sudo cat /var/lib/mysql/ hostname-slow.log

Jika pertanyaan melebihi long_query_time , ia akan dilog masuk ke dalam fail.

Kesimpulan

Menghidupkan log pertanyaan lambat MySQL boleh memberikan maklumat terperinci tentang masa pelaksanaan pertanyaan, yang sangat membantu untuk mendiagnosis dan menyelesaikan masalah prestasi dalam sistem pengeluaran dalaman. Artikel ini memperkenalkan cara untuk mendayakan log pertanyaan lambat MySQL pada sistem Linux. Sebelum mendayakan log pertanyaan lambat MySQL, pastikan anda menguji dalam persekitaran ujian dan lakukan ujian yang mencukupi untuk memastikan ciri tersebut tidak akan memberi kesan negatif kepada pangkalan data pengeluaran anda.

Atas ialah kandungan terperinci Bagaimana untuk membolehkan log pertanyaan lambat MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn