Rumah > pangkalan data > tutorial mysql > Bagaimana untuk membolehkan log pertanyaan lambat MySQL

Bagaimana untuk membolehkan log pertanyaan lambat MySQL

PHPz
Lepaskan: 2023-04-20 11:31:55
asal
1670 orang telah melayarinya

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
Salin selepas log masuk

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
Salin selepas log masuk

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
Salin selepas log masuk

Langkah 5: Semak log pertanyaan lambat MySQL

Untuk menyemak log pertanyaan lambat MySQL, masukkan arahan berikut:

mysql> SHOW GLOBAL VARIABLES LIKE 'slow_query_log';
Salin selepas log masuk

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

+----------------+-------+
| Variable_name  | Value |
+----------------+-------+
| slow_query_log | ON    |
+----------------+-------+
Salin selepas log masuk

Kita boleh menyemak fail log pertanyaan perlahan menggunakan arahan berikut:

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

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan