Skip to content

emka.web.id

writing knowledge, recording civilization

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Mengelola File Binary Log MySQL untuk Menghemat Ruang Disk

Posted on August 25, 2024

Saat menggunakan replikasi MySQL, Anda mungkin menemukan banyak file binary log (mysql-bin.000123, mysql-bin.000223, dll.) di direktori /var/db/mysql/. File-file ini menyimpan riwayat perubahan data yang terjadi di server master, yang digunakan oleh server slave untuk mereplikasi perubahan tersebut.

Meskipun file-file ini penting untuk replikasi, jumlahnya yang banyak dapat memakan banyak ruang disk. Untungnya, MySQL menyediakan mekanisme untuk membersihkan file-file binary log yang sudah tidak diperlukan lagi.

Memahami File Binary Log dan Proses Pembersihan

File binary log adalah bagian penting dari replikasi MySQL. Mereka menyimpan riwayat perubahan data yang dibuat di server master. Server slave menggunakan informasi ini untuk memperbarui data mereka agar tetap sinkron dengan server master.

File binary log memiliki beberapa fitur penting:

  • Rotasi: Saat file binary log mencapai batas ukuran tertentu (terdefinisi dalam konfigurasi MySQL), MySQL akan membuat file baru dan mulai mencatat perubahan ke file baru tersebut. File lama akan tetap ada, tetapi tidak lagi digunakan untuk replikasi.
  • Pembersihan otomatis: MySQL memiliki mekanisme pembersihan otomatis yang dapat menghapus file binary log yang sudah tidak diperlukan lagi.

Cara Membersihkan File Binary Log yang Tidak Digunakan

Berikut adalah beberapa cara untuk membersihkan file binary log yang tidak digunakan di MySQL:

1. Menggunakan Perintah PURGE BINARY LOGS

Perintah PURGE BINARY LOGS memungkinkan Anda menghapus file binary log berdasarkan nama file atau tanggal.

Contoh:

  • Menghapus semua file binary log sebelum mysql-bin.000223:
  PURGE BINARY LOGS TO 'mysql-bin.000223';
  • Menghapus semua file binary log sebelum tanggal tertentu:
  PURGE BINARY LOGS BEFORE DATE(NOW() - INTERVAL 3 DAY) + INTERVAL 0 SECOND;

2. Mengatur expire_logs_days

Anda dapat mengonfigurasi MySQL untuk secara otomatis menghapus file binary log setelah jangka waktu tertentu. Atur variabel expire_logs_days ke jumlah hari yang Anda ingin simpan file binary log.

Contoh:

  • Mengatur batas waktu penyimpanan file binary log menjadi 3 hari:
  SET GLOBAL expire_logs_days = 3;

Kemudian, tambahkan baris ini ke file konfigurasi my.cnf (biasanya terletak di /etc/my.cnf):

  [mysqld]
  expire_logs_days=3

Setelah mengkonfigurasi ini, MySQL akan secara otomatis menghapus file binary log yang lebih tua dari 3 hari.

3. Melihat Status Replikasi

Sebelum Anda menghapus file binary log, penting untuk memeriksa status replikasi dan memastikan bahwa Anda tidak menghapus file yang sedang digunakan oleh server slave.

Gunakan perintah SHOW SLAVE STATUS untuk melihat status replikasi:

SHOW SLAVE STATUS\G

Perhatikan dua field berikut:

  • Master_Log_File: File binary log yang sedang digunakan oleh server master.
  • Relay_Master_Log_File: File binary log yang sedang digunakan oleh server slave.

4. Menghapus File Binary Log dengan Aman

Setelah Anda melihat status replikasi, Anda dapat menghapus file binary log yang tidak lagi diperlukan. Namun, untuk memastikan replikasi tidak terganggu, Anda harus menghapus file binary log sebelum Relay_Master_Log_File.

Contoh:

  • Jika Relay_Master_Log_File adalah mysql-bin.000245, Anda dapat menghapus semua file binary log sebelum mysql-bin.000245:
  PURGE BINARY LOGS TO 'mysql-bin.000245';

Mengapa Membersihkan File Binary Log Penting?

Membersihkan file binary log yang tidak digunakan sangat penting karena beberapa alasan:

  • Menghemat ruang disk: File binary log dapat memakan banyak ruang disk, terutama jika replikasi berlangsung lama. Membersihkan file yang tidak digunakan dapat membantu menghemat ruang disk yang berharga.
  • Meningkatkan kinerja: File binary log yang banyak dapat memperlambat kinerja MySQL karena memerlukan waktu yang lebih lama untuk membaca dan menulis file. Membersihkan file yang tidak digunakan dapat meningkatkan kinerja MySQL.
  • Meningkatkan keamanan: File binary log menyimpan riwayat perubahan data, yang dapat digunakan oleh penyerang untuk mengeksploitasi sistem. Membersihkan file yang tidak digunakan dapat membantu meningkatkan keamanan sistem.

Tips Tambahan

  • Cadangkan data Anda: Selalu cadangkan data Anda sebelum melakukan perubahan besar pada konfigurasi MySQL.
  • Pantau status replikasi: Pantau status replikasi secara teratur untuk memastikan bahwa replikasi berjalan lancar.
  • Atur batasan penyimpanan: Atur batas penyimpanan untuk file binary log untuk mencegah file-file tersebut memakan terlalu banyak ruang disk.

Kesimpulan

Membersihkan file binary log yang tidak digunakan adalah praktik yang baik untuk menjaga kesehatan dan kinerja server MySQL. Dengan menggunakan perintah PURGE BINARY LOGS, mengatur expire_logs_days, dan memperhatikan status replikasi, Anda dapat dengan mudah mengelola file binary log dan memastikan bahwa server MySQL Anda berjalan secara optimal.

Terbaru

  • Belajar Cyber Security dari Nol hingga Siap Kerja, Ini Roadmap Lengkapnya
  • Running Windows 11 on Apple Silicon: UTM vs. Parallels Desktop vs. VMware Fusion
  • Testing PikaOS, a Rolling Debian Distribution Special for Gaming and Content Creation
  • Engineering the On-Premises AI Data Center: An In-Depth Technical Review of the HP ZGX Fury AI Station
  • Trying my new Favourite Task Manager, TMOG on Omarchy Linux
  • ASRock Industrial AI Box A395: Is This the Best Compact Strix Halo System for Local AI?
  • Redox OS: A Rust-Based Microkernel Operating System (And How It Differs from Linux)
  • Canonical Is Bringing Back Ubuntu Core Desktop — This Time With a Clearer Plan
  • systemd Officially Adds Support for Rust Components
  • Rocky Linux Creator Builds a Brand-New “Not Linux” Kernel in 11 Days Using AI
  • Building a local AI agent in Workshop on Ubuntu 26.10
  • Omarchy 4.5 RC: 5 New Apps That Actually Look Useful
  • Worth It! Switching from Fedora KDE to Kubuntu
  • I’m Happy Using ‘Herdr’, The Fastest Growing Devtool written in Rust
  • Testing Goose on Omarchy Linux (App & CLI): The Open-Source Solution for Daily Task Automation
  • GNOME Founder Attacks Omarchy Founder as “Lazy, Racist, Ignorant”
  • Why I Stopped Using Plain Command Line Docker and Use Portainer 3.0 To Make My Home Projects Fun Again
  • Why I Switched to a Proper Firewall Box with OPNSense for My Homelab Stuff
  • Fixing Windows Error 0x80070005 Hyper-V Export Access Denied Error the Right Way
  • Fixing Hyper V Export Errors and Building a Better Virtual Machine Setup (error 0x80070002, 0x80070005)
  • Fixing the Dreaded Windows Audio Service Stuck on Stopping Error
  • Windows SIM Error, Unknown error 0xc1420127
  • How I’m Building a Cat Breeding Management App with Python Qt6 + Microsoft Litebox, in 1 Week
  • Why Windows Keeps Nuking Your GPU Drivers (And How to Take Back Control)
  • Why I Finally Ditched Mainstream Windows Cleaners (And Why I Use ‘Kudu’ Instead)
  • AI Made Everything Faster, Including Bad Decisions
  • Raspberry Pi Desktop Available of PC and Mac, Based on Debian 13
  • Why I Stopped Yelling at My PC When Error; Getting Windows 11 Voice Isolation and Access to Actually Work
  • Berobat Kanker ke Malaysia: Berapa Biayanya dan Apa Saja yang Perlu Disiapkan?
  • Stop Sending Every Prompt to the Biggest AI Model You Can Find
  • Canonical: Ubuntu coming soon to Snapdragon X2 Series platforms
  • Finally, wolfSSL adds post-quantum algorithms!
  • How to Run Gemma Embedding Models Using Docker
  • Deploy Nginx Rootful Container with Podman
  • How to Sandboxing Browser on Linux Desktop with Flatpak
  • Some of New Gemini Notebook Update is CRAZY GOOD: Native Mobile Recording
  • Clover 35B A3B Local Test | Diffusion Model Beats Qwen 35B MoE? | Local AI Setup with llama.cpp
  • The no-code app implementation plan in 2026
  • Liquid AI Unveils LFM3: A New Generation of Multimodal Foundation Models Built Small Device
  • Google DeepMind Unveils Genie 4: The Most Advanced Real-Time Interactive World Model Yet
  • Lagi-lagi Herri Pras Viral, Kali Ini Didatangi Sekelompok Pria Sampai Ada Tendangan
  • Lagi lapor SPT lewat Coretax malah error “An error occurred during the submit process”, ini cara ngatasinnya biar nggak panik
  • Lagi rame bahas siapa pemilik Scora skincare, beneran Lily Kenzie atau cuma Brand Ambassador?
  • Info Lengkap Playoff MPL ID S18 di Surabaya: Harga Tiket Mulai 10 Ribu, Jadwal, dan Cara Belinya
  • Lagi-lagi kabar Indro Warkop meninggal dunia beredar, padahal aslinya gimana sih?

©2026 emka.web.id | Design: Newspaperly WordPress Theme