Mysql memeriksa status log umum

Log kueri umum adalah log dari setiap kueri SQL yang diterima dari klien, serta setiap klien yang terhubung dan terputus. Karena ini adalah catatan dari setiap kueri yang diterima oleh server, ini dapat bertambah besar dengan sangat cepat

Namun, jika Anda hanya menginginkan catatan kueri yang mengubah data, mungkin lebih baik menggunakan log biner. Satu perbedaan penting adalah bahwa log biner hanya mencatat kueri saat transaksi dilakukan oleh server, tetapi log kueri umum segera mencatat kueri saat diterima oleh server.

Mengaktifkan Log Kueri Umum

Log kueri umum dinonaktifkan secara default

Untuk mengaktifkan log kueri umum, setel variabel sistem

[mariadb]
...
general_log
3 ke
[mariadb]
...
general_log
4. Itu dapat diubah secara dinamis dengan
[mariadb]
...
general_log
5. Sebagai contoh

SET GLOBAL general_log=1;

Itu juga dapat diatur di server dalam file opsi sebelum memulai server. Sebagai contoh

[mariadb]
...
general_log

Mengonfigurasi Nama File Log Permintaan Umum

Secara default, log kueri umum ditulis ke

[mariadb]
...
general_log
6 di direktori
[mariadb]
...
general_log
7. Namun, ini bisa diubah

Salah satu cara untuk mengonfigurasi nama file log kueri umum adalah dengan menyetel variabel sistem

[mariadb]
...
general_log
8. Itu dapat diubah secara dinamis dengan
[mariadb]
...
general_log
5. Sebagai contoh

SET GLOBAL general_log_file='mariadb.log';
_

Itu juga dapat diatur di server dalam file opsi sebelum memulai server. Sebagai contoh

[mariadb]
...
general_log
general_log_file=mariadb.log

Jika ini adalah jalur relatif, maka

[mariadb]
...
general_log
8 relatif terhadap direktori
[mariadb]
...
general_log
7

Namun, variabel sistem

[mariadb]
...
general_log
_8 juga bisa menjadi jalur absolut. Sebagai contoh

[mariadb]
...
general_log
general_log_file=/var/log/mysql/mariadb.log

Cara lain untuk mengonfigurasi nama file log kueri umum adalah dengan menyetel opsi

SET GLOBAL general_log_file='mariadb.log';
3, yang mengonfigurasi MariaDB untuk menggunakan awalan umum untuk semua file log (mis. g. log kueri umum, log kueri lambat, log kesalahan, log biner, dll. ). Nama file log kueri umum akan dibuat dengan menambahkan ekstensi
SET GLOBAL general_log_file='mariadb.log';
4 ke awalan ini. Opsi ini tidak dapat diatur secara dinamis. Itu dapat diatur di server dalam file opsi sebelum memulai server. Sebagai contoh

[mariadb]
...
log-basename=mariadb
general_log

SET GLOBAL general_log_file='mariadb.log';
3 tidak bisa menjadi jalur absolut. Nama file log relatif terhadap direktori
[mariadb]
...
general_log
7

Memilih Tujuan Keluaran Log Kueri Umum

Log kueri umum dapat ditulis ke file di disk, atau dapat ditulis ke tabel

SET GLOBAL general_log_file='mariadb.log';
7 di database
SET GLOBAL general_log_file='mariadb.log';
8. Untuk memilih tujuan keluaran log kueri umum, atur variabel sistem
SET GLOBAL general_log_file='mariadb.log';
9

Log kueri umum ditampilkan ke file secara default. Namun, itu dapat dipilih secara eksplisit dengan menyetel variabel sistem

SET GLOBAL general_log_file='mariadb.log';
9 ke
[mariadb]
...
general_log
general_log_file=mariadb.log
1. Itu dapat diubah secara dinamis dengan
[mariadb]
...
general_log
5. Sebagai contoh

SET GLOBAL log_output='FILE';

Itu juga dapat diatur di server dalam file opsi sebelum memulai server. Sebagai contoh

[mariadb]
...
log_output=FILE
general_log
general_log_file=queries.log

Log kueri umum dapat ditulis ke tabel

SET GLOBAL general_log_file='mariadb.log';
7 di database
SET GLOBAL general_log_file='mariadb.log';
8 dengan menyetel variabel sistem
SET GLOBAL general_log_file='mariadb.log';
9 ke
[mariadb]
...
general_log
general_log_file=mariadb.log
6. Itu dapat diubah secara dinamis dengan
[mariadb]
...
general_log
5. Sebagai contoh

SET GLOBAL log_output='TABLE';

Itu juga dapat diatur di server dalam file opsi sebelum memulai server. Sebagai contoh

[mariadb]
...
log_output=TABLE
general_log

Beberapa baris dalam tabel ini mungkin terlihat seperti ini

[mariadb]
...
general_log
0

Lihat Menulis log ke dalam tabel untuk informasi lebih lanjut

Menonaktifkan Log Permintaan Umum untuk Sesi

Seorang pengguna dengan hak istimewa dapat menonaktifkan masuk ke log kueri umum untuk koneksi dengan menyetel variabel sistem ke

[mariadb]
...
general_log
4. Sebagai contoh

[mariadb]
...
general_log
_1

Menonaktifkan Log Permintaan Umum untuk Pernyataan Khusus

Di MariaDB 10. 3. 1 dan yang lebih baru, dimungkinkan untuk menonaktifkan pencatatan ke log kueri umum untuk jenis pernyataan tertentu dengan menyetel variabel sistem

[mariadb]
...
general_log
general_log_file=mariadb.log
9. Opsi ini tidak dapat diatur secara dinamis. Itu dapat diatur di server dalam file opsi sebelum memulai server. Sebagai contoh

[mariadb]
...
general_log
_2

Memutar Log Permintaan Umum di Unix dan Linux

Distribusi Unix dan Linux menawarkan utilitas logrotate, yang membuatnya sangat mudah untuk memutar file log. Lihat Memutar Log di Unix dan Linux untuk informasi selengkapnya tentang cara menggunakan utilitas ini untuk merotasi log kueri umum

Apa itu log umum di MySQL?

Log kueri umum adalah catatan umum tentang apa yang dilakukan mysqld . Server menulis informasi ke log ini ketika klien terhubung atau terputus, dan mencatat setiap pernyataan SQL yang diterima dari klien.

Bagaimana cara memeriksa variabel global di MySQL?

SHOW VARIABLES menerima pengubah cakupan variabel GLOBAL atau SESSION opsional. Dengan pengubah GLOBAL, pernyataan tersebut menampilkan nilai variabel sistem global. Ini adalah nilai yang digunakan untuk menginisialisasi variabel sesi yang sesuai untuk koneksi baru ke MySQL. Jika variabel tidak memiliki nilai global, tidak ada nilai yang ditampilkan.

Bagaimana cara melacak aktivitas pengguna di MySQL?

Inilah langkah-langkah dasarnya. .
Buat mysql. tabel general_log MyISAM. Jalankan yang berikut ini. BUAT TABEL mysql. general_log_original SEPERTI mysql. log_umum; . general_log MESIN=MyISAM; . general_log TAMBAHKAN INDEX (waktu_acara);
Aktifkan log umum. .
Mulai ulang mysql