Anda di halaman 1dari 12

Logging Basis Data

Program Studi Sistem Informasi


Fakultas Sains dan Teknologi
Universitas Islam Negeri Sultan Syarif Kasim Riau

December 9, 2019

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 1 / 12


Pengantar / Intro

Pengecekan kondisi DBMS


Pengecekan :
Error (Start, Stop DBMS, normal atau tidak normal)
Perubahan (Struktur Table, Data, etc..)
Executed Query
Slow Query
Sebagai DBA, kita harus tahu apa yang terjadi di dalam DBMS pada
waktu tertentu.
Melalui Logging, kita mendapat informasi tentang potensi yang akan
terjadi pada DBMS.

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 2 / 12


MySQL Features :

MySQL memiliki beberapa Log files secara default :


Error Log
Query Log
Binary Log
Slow Log
Umumnya, default data atau files logs berada pada data-directory :
/var/log/mysql
kecuali DBA mensettingnya berbeda...

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 3 / 12


Error Log

Berisi tentang waktu Start/Run/Stop MySQL.


Juga, berisi diagnostic messages saat server berjalan, atau saat hidup
atau dimatikan (misal sebuah table butuh dicek atau direpair).
Berisi juga tentang Porting MySQL
Nama file default biasanya host name.err kecuali jika DBA mengganti
nama filenya dengan extensi .log ex: error.log
Di UNIX atau UNIX-like System dapat di akses di
/var/log/mysql/error.log

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 4 / 12


(General) Query Log (1/2)

Menyimpan semua client connections dan executed statements (SQL


statements).
Capture statements from user community.
Kita bisa menganalisa setiap user yang memberatkan server dengan
SQLnya.
Troubleshooting atau perbaikan performance issues
File log ini menyimpan ALL statements

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 5 / 12


(General) Query Log (2/2)

Kita bisa mengaktifkan Query Log dengan menambahkan baris di bawah


ini di file my.cnf
[mysqld]
general log=on
general log file=/var/log/mysql/query.log

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 6 / 12


Mengakses General Query Log di Table MYSQL

cek dahulu, apakah sudah ada atau belum table general log di
database mysql (mysql.general log)
Jika belum ada, buatlah terlebih dahulu (referensi :
https://tableplus.com/blog/2018/10/how-to-show-queries-log-in-
mysql.html)
Jika sudah ada, lakukan aktivasi dengan perintah :
SET global general log = 1;
SET global log output = ”table”;
Jika telah diaktivasi, kita bisa melihat log tersebut dengan perintah :
SELECT * FROM mysql.general log
Jika ingin menonaktifkan general log dapat dilakukan melalui :
SET global general log = 0;

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 7 / 12


Binary Log (1/2)

Berisi data changing statements (DELETE, UPDATE, ALTER, etc..)


Biasanya digunakan untuk replications atau recovery.
Tidak menyimpan SELECT dan SHOW query
Membuat server lebih lambat

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 8 / 12


Binary Log (2/2)

Kita bisa mengaktifkan binary log :


server-id=1
log-bin=/var/log/mysql/bin.log
log-bin-index=/var/log/mysql/bin-log.index
max binlog size=100M

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 9 / 12


Slow Log (1/2)

Identify slow-running query


Query dont use indexes
Exceed limit variable –long query time (biasanya 10 detik)

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 10 / 12


Slow Query (2/2)

Kita bisa mengaktifkan dengan menambahkan :


slow query log
slow query log file = /var/log/mysql/slow.log
long query time = 2
log queries not using indexes

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 11 / 12


End.

(UIN SUSKA Riau) Administrasi Basis Data December 9, 2019 12 / 12

Anda mungkin juga menyukai