GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengaktifkan Pencatatan Kueri MySQL/MariaDB

Dalam panduan singkat dan mudah diikuti ini, kami membahas cara mengaktifkan pencatatan kueri MySQL/MariaDB dan menyimpan kueri ke file.

Saat menggunakan database, sering kali pengembang ingin mengetahui apa yang terjadi di balik layar. Baik itu untuk pemecahan masalah, penyetelan performa, atau hanya karena penasaran.

Log kueri umum tetap menjadi salah satu sumber informasi audit dan diagnostik paling populer di database MySQL/MariaDB. Setelah logging diaktifkan, server database akan menulis informasi ke file log ketika klien terhubung atau terputus, dan akan mencatat setiap pernyataan SQL.

Namun, perlu diingat bahwa mengaktifkan log kueri umum memengaruhi kinerja MySQL/MariaDB. Ini akan mengurangi throughput sekitar 13% dan meningkatkan waktu respons dari server MySQL/MariaDB sekitar 17%.

Jadi tanpa basa-basi lagi, mari kita mulai karena prosesnya cukup mudah.

Aktifkan Pencatatan Kueri Umum MySQL/MariaDB

Di MySQL/MariaDB, log kueri umum dinonaktifkan secara default.

1. Masuk ke alat baris perintah server MySQL/MariaDB sebagai root:

mysql -u root -p

2. Setel jalur file log umum ke /var/logs/mysql/general-query.log dengan mengeksekusi kueri di bawah ini.

SET GLOBAL general_log_file='/var/log/mysql/general-query.log';

Secara default, log kueri umum ditulis dalam direktori data yang sama yang menyimpan subdirektori database itu sendiri (biasanya /var/lib/mysql ) dan nama file log default ke nama host. Namun, seperti yang Anda lihat, ini dapat diubah.

3. Aktifkan log umum server:

SET GLOBAL general_log = 1;

Mari kita periksa lagi status log kueri umum MySQL/MariaDB:

SHOW VARIABLES LIKE "general_log%";

Itu dia. Dari sini Anda dapat melakukan sesuatu yang mirip dengan sudo tail -f pada general-query.log file dari baris perintah dan awasi berbagai hal.

Setelah selesai dengan pemeriksaan, Anda dapat menonaktifkan pencatatan kueri MySQL/MariaDB sebagai berikut:

SET GLOBAL general_log = 0;

Tentu saja tidak diinginkan untuk mengaktifkan logging di server produksi. Jadi berhati-hatilah dengan ini, file log bisa menjadi besar dengan sangat cepat.

Jika Anda tidak ingin menjalankan kueri secara langsung, Anda masih dapat mengaktifkan logging kueri MySQL/MariaDB dengan langsung memodifikasi file konfigurasi MySQL/MariaDB, namun perlu diingat bahwa pendekatan ini memerlukan restart server database.

Kesimpulan

Log kueri MySQL/MariaDB umum bisa sangat berguna saat Anda mencurigai adanya kesalahan pada klien dan ingin mengetahui dengan tepat apa yang dikirim klien ke database. Jadi jika Anda memiliki beberapa bug atau masalah dengan database, salah satu cara untuk melacak masalah dalam mengaktifkan log ini, dan memeriksa apa yang terjadi.

Anda dapat membaca selengkapnya tentang mengaktifkan log kueri MySQL/MariaDB umum di sini dan di sini.


Linux
  1. Bagaimana cara mengganti MySQL dengan MariaDB di CentOS 6

  2. Cara mengaktifkan logging permintaan pengikatan untuk mengetahui Siapa yang Menanyakan Server Nama

  3. Cara mengaktifkan logging debug NFS menggunakan rpcdebug

  1. Cara Menghentikan Proses dalam MySQL

  2. Di mana log cron / crontab? / Bagaimana cara mengaktifkan Cron Log?

  3. cara masuk ke mysql dan menanyakan database dari terminal linux

  1. Cara mengaktifkan opsi debug di perangkat lunak OpenCA

  2. Cara Mengaktifkan Log Permintaan Lambat untuk MySQL

  3. Bagaimana Mengaktifkan Log Kueri Mysql (lihat Semua Kueri Sql Saat Mereka Datang)?