Kenapa Baiquni.net Tidak Bisa Diakses?

Tadi, saat saya membuka blog ini (baiquni.net) saya menemukan kode Database Not Estabilished. Seperti yang saya duga sebelumnya, kemungkinan hardisk Virtual Server ini memang sudah membengkak. Saat saya cek dengan perintah “df -h” menunjukkan bahwa kapasitas 50 GB sudah terisi semuanya.

Mungkin inilah saatnya untuk bersih-bersih!

Langkah pertama yang saya lakukan adalah melihat beberapa file yang memiliki kapasitas besar yang bisa saya hapus.

[root@zx ~]# find / -type f -size +50000k -exec ls -lh {} ; | awk '{ print $9 ": " $5 }'
/var/log/httpd/access_log: 461M
/var/log/brcm-iscsi.log: 87M
/var/log/mysqld.log: 42G < -- file log MySQL yang sangat besar
/var/www/html/ACDSP5.rar: 71M
/var/www/html/linux/Chemical-engineering---Chemistry-books.softarchive.net.rar: 102M
/root/cenary-move/cpmove-cenary/homedir.tar: 1.2G
/root/cenary-move/cpmove-cenary/mysql/cenary_algae.sql: 185M
/root/cenary-move/cpmove-cenary/mysql/cenary_liza.sql: 233M
/proc/vz/vzaquota/000000d2/aquota.user: 129M
/proc/vz/vzaquota/000000d2/aquota.group: 129M
find: /proc/3485/task/3485/fdinfo/4: No such file or directory
find: /proc/3485/fdinfo/4: No such file or directory
/usr/lib/locale/locale-archive: 54M

Saya sangat terkejut saat melihat fakta yang terjadi. Ternyata besar log file MySQL saya berukuran 42 GB.

Dengan asumsi demikian, sudah seharusnya yang saya lakukan adalah melakukan pengosongan log file MySQL tersebut. Maka setelah mencari di Google, yang harus saya lakukan adalah melakukan flush-logs, caranya:

[root@zx ~]# mysqladmin -h localhost -u root -p flush-logs

Tetapi saat saya melakukan itu, saya baru teringat bahwa saya lupa dengan password akun Root MySQL. Jadi, yang harus saya lakukan adalah menjalankan ulang MySQL dengan mode –skip-grant-tables dan untuk keamanan akses juga melakukan –skip-networking, kemudian melakukan reset password Root MySQL.

[root@zx ~]# service mysqld stop
Stopping MySQL:                                            [  OK  ]
 
[root@zx ~]# mysqld_safe --skip-grant-tables --skip-networking
[root@zx ~]# mysql
 
mysql> UPDATE mysql.user SET Password=PASSWORD('baiquniganteng') WHERE User='user';
mysql> FLUSH PRIVILEGES;

Untuk menjalankan kembali MySQL Service, cukup dengan perintah berikut:

[root@zx ~]# service mysqld start
Starting MySQL:                                            [  OK  ]

Langkah selanjutnya untuk menghapus file log MySQL yang terlalu besar adalah sebagai berikut:

[root@zx ~]# mysqladmin -h localhost -u root -p flush-logs

Tetapi anehnya saat saya melakukan cek, apakah log MySQL tersebut sudah kembali dari awal, ternyata tidak.

[root@zx ~]# ls -alh /var/log | grep mysql
-rw-r-----  1 mysql mysql  42G Jul 27 09:22 mysqld.log

Akhirnya karena kebingungan, yang saya lakukan adalah hal berikut:

[root@zx ~]# mv /var/log/mysqld.log /var/log/mysqld.log.old
[root@zx ~]# service mysqld restart
Stopping MySQL:                                            [  OK  ]
Starting MySQL:                                            [  OK  ]
 
[root@zx ~]# ls -alh /var/log | grep mysql
-rw-r-----  1 mysql mysql 574K Jul 27 09:31 mysqld.log
-rw-r-----  1 mysql mysql  42G Jul 27 09:29 mysqld.log.old
 
[root@zx ~]# rm -rf /var/log/mysql.log.old
 
[root@zx log]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/simfs             50G  4.4G   46G   9% /
none                  1.0G  4.0K  1.0G   1% /dev

Hore! Masalah sudah clear. Saatnya tidur…