01 Juni 2009

Binary Log MySQL (Bagian 1)

Binary Log MySQL berisi semua pernyataan yang mengubah data. Tiap operasi INSERT, UPDATE, DELETE akan disimpan pada file log. Tidak hanya terbatas pada operasi tersebut saja, perintah yang melakukan perubahan terhadap struktur data seperti CREATE TABLE, ALTER TABLE dan lain-lain, juga disimpan pada file log. Sesuai dengan namanya, file log ini disimpan dalam bentuk biner, bukan dalam bentuk teks. Perintah yang tidak melakukan perubahan terhadap data seperti operasi SELECT tidak disimpan.
Supaya dapat menulis ke file log, berikan parameter --log-bin[=base-name] saat menjalankan server MySQL (mysqld). Jika pengaturan dilakukan dengan file konfigurasi MySQL (my.ini), tambahkan baris log-bin[=base-name] pada file konfigurasi MySQL.
[mysqld]
log-bin="C:/Program Files/MySQL/MySQL 5.1/binlog"

File yang dihasilkan mempunyai nama sesuai dengan paramater yang telah diberikan (dalam contoh diatas: binlog) ditambah dengan ektensi berupa angka. Angka ini dimulai dengan angka 1, 2, 3 dan seterusnya yang membentuk urutan angka. Tiap kali server MySQL dijalankan atau pada saat melakukan “flush” terhadap log, file log baru akan dihasilkan. Contohnya:
binlog.000001
binlog.000002
binlog.000003


Jika kita menambahkan ektensi pada parameter tersebut, ektensi tersebut otomatis akan diabaikan. Misalnya binlog.dat sama dengan binlog. Ada satu file lagi yang digunakan untuk mengatur file-file log yang ada. Nama file sama dengan base-name yang di -definisikan pada parameter dengan ekstensi .index. File ini berisi nama-nama file log yang pernah digunakan. Kita dapat mengubah nama file ini dengan menambahkan parameter --log-bin-index[=file-name]. Disarankan untuk tidak mengubah file ini supaya tidak terjadi masalah nantinya. Untuk menghapus semua file log yang ada, gunakan perintah RESET MASTER.

2 komentar:

  1. bagaimana bisa mengubah file binary itu jadi file sql yang didalamnnya ada perintah2 query..

    Atau ada settingan agar log yang dihasilkan dalam bentuk sql...??

    BalasHapus
  2. lihat di bagian 3:
    http://rudycs.blogspot.com/2009/06/binary-log-mysql-bagian-3.html

    BalasHapus