Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Membaca File Log Biner MySQL (BinLog) dengan mysqlbinlog

Server database MySQL menghasilkan file log biner untuk setiap transaksi ke database, asalkan administrator tidak menonaktifkan atau mengomentari parameter "log-bin" di file konfigurasi my.cny. File log biner ditulis dalam format biner. Meskipun log biner, atau juga dikenal sebagai logbin terutama digunakan untuk tujuan replikasi database MySQL, terkadang Anda mungkin perlu memeriksa atau membaca isi log biner dalam format teks, di mana utilitas mysqlbinlog akan berguna.

File log biner, yang biasanya memiliki nama dengan format host_name-bin.xxxxxx dan disimpan di direktori /var/lib/mysql, tidak dapat langsung dibuka dan dibaca karena dalam format biner yang tidak dapat dibaca. Untuk membaca log biner dalam format teks, kita dapat menggunakan perintah mysqlbinlog, yang juga dapat membaca file log relai yang ditulis oleh server budak dalam pengaturan replikasi. Log relai memiliki format yang sama dengan file log biner.

Untuk menggunakan utilitas mysqlbinlog sederhana, cukup gunakan sintaks perintah berikut untuk memanggil mysqlbinlog setelah login sebagai root (jika tidak, Anda harus menentukan nama pengguna dan kata sandi) ke shell melalui SSH:

mysqlbinlog [options] log_file ...

Jadi untuk membaca dan menampilkan isi file log biner bernama binlog.000001, gunakan perintah ini:

mysqlbinlog binlog.000001

File log biner dan datanya cenderung sangat besar, sehingga hampir mustahil untuk membaca apa pun di layar. Namun, Anda dapat menyalurkan output mysqlbinlog ke dalam file yang dapat dibuka untuk penelusuran nanti di editor teks, dengan menggunakan perintah berikut:

mysqlbinlog binlog.000001 > filename.txt

Untuk mengurangi jumlah data yang diambil dari log biner, ada beberapa opsi yang dapat digunakan untuk membatasi data yang dikembalikan. Di antara yang berguna tercantum di bawah ini:

–start-datetime=datetime

Mulailah membaca log biner pada peristiwa pertama yang memiliki stempel waktu yang sama dengan atau lebih lambat dari argumen datetime. Nilai datetime relatif terhadap zona waktu lokal pada mesin tempat Anda menjalankan mysqlbinlog. Nilai harus dalam format yang diterima untuk tipe data DATETIME atau TIMESTAMP. Misalnya:

mysqlbinlog --start-datetime="2005-12-25 11:25:56" binlog.000001

–stop-datetime=datetime

Berhenti membaca log biner pada peristiwa pertama yang memiliki stempel waktu yang sama atau di belakang argumen datetime. Opsi ini berguna untuk pemulihan point-in-time. Lihat deskripsi opsi –start-datetime untuk informasi tentang nilai datetime.

–start-position=N

Mulailah membaca log biner pada peristiwa pertama yang memiliki posisi sama dengan argumen N. Opsi ini berlaku untuk file log pertama yang diberi nama pada baris perintah.

–stop-position=N

Berhenti membaca log biner pada peristiwa pertama yang memiliki posisi sama atau lebih besar dari argumen N. Opsi ini berlaku untuk file log terakhir yang diberi nama pada baris perintah.

Untuk informasi penggunaan lebih lanjut di mysqlbinlog, kunjungi di sini.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Temukan dan ganti seluruh database mysql

  2. Ekspor database MySQL/MariaDB

  3. JSON_REPLACE() – Ganti Nilai dalam Dokumen JSON di MySQL

  4. Cara Terbaik untuk Meng-host MySQL di Azure Cloud

  5. Menginstal Server Web di FreeBSD 6.0 dengan Apache 2.2, MySQL 5.0 dan PHP 5 – Bagian 3