Mengaktifkan log MySQL

Untuk melakukan diagnosa masalah pada MySQL (atau Percona dan MariaDB) maka kita perlu mengecek apa isi lognya. Masalahnya dan ini baru saya tahu ternyata ada pada beberapa instalasi (tergantung distro Linux dan versi database server yang terinstall) tidak aktif secara default. Jadi kalau ada error ya diam saja tidak ada catatannya. Repot kan? Kalau lancar jaya sih ga bingung.

Nah… kali ini saya akan menuliskan bagaimana caranya agar MySQL membuat file log untuk beberapa jenis kejadian. Jadi tidak semua event itu setara tingkatannya tergantung fungsinya.

Anda mau yang mana awalnya sama semua kok. 🙂 Langkah selanjutnya adalah mengedit konfigurasi MySQL, biasanya bernama my.cnf:

nano /etc/mysql/my.cnf

Saya asumsikan default lho ya, belum tentu di VPS anda ada disana tapi bisa anda cek sendiri kok. Nah… kode – kode yang nanti saya bahas letakkan dalam blok [mysqld] kecuali yang saya beri letaknya secara spesifik.

General Query Log: Berisi informasi umum mengenai aktivitas MySQL. Ya seperti hidup, mati dan menjalankan query SQL. Untuk mengaktifkan General Query Log, tambahkan kode berikut didalamnya:

general_log_file        = /var/log/mysql/mysql_umum.log
general_log             = 1

Slow Query Log: Kalau ada perintah SQL yang terlalu lama atau lambat akan dicatat disini. Untuk mencatat Slow Query Log, perlu kode yang ini:

log_slow_queries       = /var/log/mysql/mysql_lambat.log
long_query_time = 2
log-queries-not-using-indexes

Kemudian adalah Error Log: Fungsinya buat menyimpan informasi setiap kali MySQL mengalami kesalahan. Untuk Error Log akan memanfaatkan kode ini:

[mysqld_safe]
log_error=/var/log/mysql/mysql_error.log

[mysqld]
log_error=/var/log/mysql/mysql_error.log

Terakhir agar MySQL selalu menjalankan proses rekaman catatan aktivitasnya maka perlu dihidupkan settingnya, silahkan masuk dulu ke mode interaktif MySQL:

mysql -u root -p

Kemudian eksekusi perintah ini:

SET GLOBAL general_log = 'ON';
SET GLOBAL slow_query_log = 'ON';

Setelah itu silahkan restart proses MySQL:

service mysql restart

Selesai. 😀

8 pemikiran pada “Mengaktifkan log MySQL

  1. -rw-r--r-- 1 root     root   1128 Apr 16 22:25 alternatives.log
    -rw-r--r-- 1 root     root   2046 Mar 16 04:38 alternatives.log.1
    -rw-r--r-- 1 root     root    207 Mar  1 05:15 alternatives.log.2.gz
    -rw-r--r-- 1 root     root    576 Jan 30 00:04 alternatives.log.3.gz
    drwxr-xr-x 2 root     root   4096 Apr  1 13:25 apt
    -rw-r----- 1 syslog   adm   64145 Apr 18 03:52 auth.log
    -rw-r----- 1 syslog   adm  103737 Apr 16 13:25 auth.log.1
    -rw-r----- 1 syslog   adm    9105 Apr  9 13:25 auth.log.2.gz
    -rw-r----- 1 syslog   adm    5495 Apr  2 13:25 auth.log.3.gz
    -rw-r----- 1 syslog   adm    4161 Mar 28 13:25 auth.log.4.gz
    -rw------- 1 root     utmp   1536 Apr 17 22:52 btmp
    -rw------- 1 root     utmp      0 Mar  1 13:25 btmp.1
    -rw-r--r-- 1 syslog   adm  653516 Apr 17 23:43 cloud-init.log
    -rw-r--r-- 1 root     root  23425 Apr 17 23:43 cloud-init-output.log
    drwxr-xr-x 2 root     root   4096 Dec  1 04:46 dist-upgrade
    -rw-r--r-- 1 root     root  77752 Apr 16 22:25 dpkg.log
    -rw-r--r-- 1 root     root 150631 Mar 31 00:24 dpkg.log.1
    -rw-r--r-- 1 root     root   5354 Mar  1 05:15 dpkg.log.2.gz
    -rw-r--r-- 1 root     root  17073 Jan 30 06:25 dpkg.log.3.gz
    drwx------ 2 root     root   4096 Apr 18 01:16 ee
    -rw-r--r-- 1 root     root   1453 Jan 29 23:43 fontconfig.log
    drwxr-xr-x 2 root     root   4096 Dec 21 17:41 fsck
    -rw-r----- 1 syslog   adm  222547 Apr 18 04:02 kern.log
    -rw-r----- 1 syslog   adm   31396 Apr 16 12:28 kern.log.1
    -rw-r----- 1 syslog   adm   13605 Apr  9 13:10 kern.log.2.gz
    -rw-r----- 1 syslog   adm   11198 Apr  2 12:47 kern.log.3.gz
    -rw-r----- 1 syslog   adm   11129 Mar 28 04:27 kern.log.4.gz
    -rw-rw-r-- 1 root     utmp 292584 Apr 18 03:51 lastlog
    drwx------ 2 root     root   4096 Jan 30 00:32 letsencrypt
    drwxr-xr-x 2 root     root   4096 Dec  5 19:57 lxd
    -rw-r----- 1 syslog   adm  395878 Apr 18 01:52 mail.log
    -rw-r----- 1 syslog   adm  750761 Apr 16 13:22 mail.log.1
    -rw-r----- 1 syslog   adm   87071 Apr  9 04:59 mail.log.2.gz
    -rw-r----- 1 syslog   adm   38354 Apr  2 08:30 mail.log.3.gz
    -rw-r----- 1 syslog   adm   52456 Mar 28 06:57 mail.log.4.gz
    drwxr-s--- 2 mysql    adm    4096 Apr 18 03:59 mysql
    -rw-r----- 1 mysql    adm       0 Mar 16 04:38 mysql.err
    -rw-r----- 1 mysql    adm       0 Apr 16 13:25 mysql.log
    -rw-r----- 1 mysql    adm      20 Apr 15 13:25 mysql.log.1.gz
    -rw-r----- 1 mysql    adm      20 Apr 14 13:25 mysql.log.2.gz
    -rw-r----- 1 mysql    adm      20 Apr 13 13:25 mysql.log.3.gz
    -rw-r----- 1 mysql    adm      20 Apr 12 13:25 mysql.log.4.gz
    -rw-r----- 1 mysql    adm      20 Apr 11 13:25 mysql.log.5.gz
    -rw-r----- 1 mysql    adm      20 Apr 10 13:25 mysql.log.6.gz
    -rw-r----- 1 mysql    adm      20 Apr  9 13:25 mysql.log.7.gz
    drwxr-x--- 2 www-data adm    4096 Apr 18 03:59 nginx
    drwxr-xr-x 2 ntp      ntp    4096 Oct  5  2016 ntpstats
    drwxr-xr-x 4 root     root   4096 Jan 29 23:57 php
    -rw------- 1 root     root      0 Feb  5 13:25 php5.6-fpm.log
    -rw------- 1 root     root      0 Feb  5 13:25 php7.0-fpm.log
    -rw-r----- 1 syslog   adm  836600 Apr 18 04:02 syslog
    -rw-r----- 1 syslog   adm  170431 Apr 16 13:25 syslog.1
    -rw-r----- 1 syslog   adm    7064 Apr 15 13:25 syslog.2.gz
    -rw-r----- 1 syslog   adm    7714 Apr 14 13:25 syslog.3.gz
    -rw-r----- 1 syslog   adm   14191 Apr 13 13:25 syslog.4.gz
    -rw-r----- 1 syslog   adm   15665 Apr 12 13:25 syslog.5.gz
    -rw-r----- 1 syslog   adm    3421 Apr 11 13:25 syslog.6.gz
    -rw-r----- 1 syslog   adm    4224 Apr 10 13:25 syslog.7.gz
    -rw-r----- 1 syslog   adm  102084 Apr 18 04:02 ufw.log
    drwxr-x--- 2 root     adm    4096 Apr  1 13:25 unattended-upgrades
    -rw-rw-r-- 1 root     utmp  53760 Apr 18 03:51 wtmp
    -rw-rw-r-- 1 root     utmp  16896 Mar 31 20:12 wtmp.1

    Mas kalau file .log itu di hapusin semua bermasalah ngak ya dengan vps nya soalnya sekarang log penuh dan web nya mulai lambat

  2. root@ubuntu:~# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            992M     0  992M   0% /dev
    tmpfs           201M   19M  182M  10% /run
    /dev/vda1        30G  4.7G   25G  17% /
    tmpfs          1001M     0 1001M   0% /dev/shm
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs          1001M     0 1001M   0% /sys/fs/cgroup
    tmpfs           201M     0  201M   0% /run/user/1000
    root@ubuntu:/var# du -sh /*
    16M     /bin
    273M    /boot
    0       /dev
    11M     /etc
    84K     /home
    52K     /htdocs
    0       /initrd.img
    0       /initrd.img.old
    582M    /lib
    4.0K    /lib64
    16K     /lost+found
    4.0K    /media
    4.0K    /mnt
    28M     /opt
    du: cannot access '/proc/7873/task/7873/fd/4': No such file or directory
    du: cannot access '/proc/7873/task/7873/fdinfo/4': No such file or directory
    du: cannot access '/proc/7873/fd/4': No such file or directory
    du: cannot access '/proc/7873/fdinfo/4': No such file or directory
    0       /proc
    53M     /root
    19M     /run
    14M     /sbin
    4.0K    /snap
    4.0K    /srv
    0       /sys
    32K     /tmp

    seperti itu sih

    • Loh mas, itu sangat – sangat lega lho VPSnya.

      Coba cek log PHPnya. Tahu lokasi dan nama filenya mas? Oh ya, ini trafiknya berapa?

      Pas ngerasa lambat coba dicek pakai top atau htop berapa besar system loadnya.

  3. log terakhir
    PHP7.0

    [19-Apr-2017 20:13:02] NOTICE: Terminating ...
    [19-Apr-2017 20:13:02] NOTICE: exiting, bye-bye!
    [19-Apr-2017 20:13:02] NOTICE: fpm is running, pid 7277
    [19-Apr-2017 20:13:02] NOTICE: ready to handle connections
    [19-Apr-2017 20:13:02] NOTICE: systemd monitor interval set to 10000ms

    PHP5.6

    [19-Apr-2017 20:12:56] NOTICE: Terminating ...
    [19-Apr-2017 20:12:56] NOTICE: exiting, bye-bye!
    [19-Apr-2017 20:12:56] NOTICE: fpm is running, pid 7271
    [19-Apr-2017 20:12:56] NOTICE: ready to handle connections
    [19-Apr-2017 20:12:56] NOTICE: systemd monitor interval set to 10000ms
    • Ini pakai CentOS 7 atau Debian 8 mas? Ini bukannya log dari systemd untuk proses PHP-FPM ya? Kalau log dari PHPnya sendiri?

      Install dari nol atau pakai script EasyEngine?

Tinggalkan komentar