Skip to main content

Mengenal MySQL: Cara Kerja, Beda dengan MariaDB, dan Praktiknya

MySQL adalah database relasional yang menjalankan sebagian besar website. Pahami cara kerjanya, hubungannya dengan MariaDB, dan tiga masalah yang paling sering muncul.

Mengenal MySQL: Cara Kerja, Beda dengan MariaDB, dan Praktiknya

MySQL adalah sistem basis data relasional yang menjalankan sebagian besar website di internet. Kalau situs Anda memakai WordPress, seluruh artikel, halaman, komentar, dan pengaturannya tersimpan di MySQL — atau di MariaDB, penggantinya yang kini lebih umum dipakai penyedia hosting.

Apa Itu MySQL?

MySQL adalah database server yang menyimpan data dalam tabel-tabel yang saling terhubung, dan melayani permintaan baca-tulis dari aplikasi memakai bahasa SQL.

Ia berjalan sebagai layanan terpisah dari web server, meski pada hosting biasa keduanya berada di mesin yang sama. Aplikasi menghubunginya dengan nama pengguna dan kata sandi tersendiri, dan itulah yang tertulis di berkas konfigurasi aplikasi Anda.

MySQL dan MariaDB

MariaDB adalah percabangan dari MySQL yang dibuat setelah MySQL berpindah kepemilikan, dan kini justru menjadi bawaan di sebagian besar paket hosting.

Untuk kebutuhan website pada umumnya, keduanya bisa saling menggantikan tanpa penyesuaian: perintah, struktur tabel, dan cara aplikasi menghubunginya sama. Perbedaannya baru terasa pada fitur lanjutan tertentu.

Kalau control panel Anda menyebut MariaDB sementara panduan yang Anda ikuti menyebut MySQL, tidak ada yang perlu diubah.

Bagaimana Cara Kerjanya pada Website

Alur yang berjalan setiap kali sebuah halaman dinamis dibuka:

  1. Web server menjalankan PHP.
  2. PHP membuka koneksi ke MySQL memakai kredensial di berkas konfigurasi.
  3. PHP mengirim kueri: ambil artikel ini, ambil menunya, ambil komentarnya.
  4. MySQL mencari data yang diminta dan mengembalikannya.
  5. PHP menyusun halaman, koneksi ditutup.

Satu halaman WordPress bisa memicu puluhan kueri. Inilah alasan cache begitu berpengaruh: halaman yang sudah tersimpan disajikan tanpa langkah 1 sampai 5 dijalankan sama sekali.

Istilah yang Perlu Dipahami Pemilik Website

  • Database. Wadah utama. Satu website biasanya memakai satu database.
  • Tabel. Kelompok data sejenis. WordPress memakai belasan tabel dengan awalan yang bisa diatur.
  • Kueri. Perintah untuk membaca atau mengubah data.
  • Indeks. Petunjuk arah yang mempercepat pencarian. Tanpa indeks, MySQL memeriksa seluruh isi tabel.
  • Ekspor dan impor. Menyimpan isi database ke satu berkas, dan memasukkannya kembali. Inilah yang dipakai saat memindahkan website.

Yang Perlu Diperhatikan dalam Praktik

Tiga hal ini yang paling sering menjadi masalah nyata pada website berbasis MySQL.

  1. Database membengkak karena data sampah. Revisi naskah, komentar spam, dan tabel sisa plugin yang sudah dihapus. Penanganannya dibahas di optimasi performa database server.
  2. Kredensial database yang bocor. Tersimpan sebagai teks biasa di berkas konfigurasi aplikasi. Pastikan berkas itu tidak bisa diakses dari browser, dan jangan memakai kata sandi yang sama untuk hal lain.
  3. Port database terbuka ke internet. Tidak ada alasan MySQL bisa dihubungi langsung dari luar pada hosting web biasa. Aplikasi di server yang sama cukup menghubunginya lewat alamat lokal.

Kapan MySQL Bukan Pilihan yang Tepat

MySQL cocok untuk hampir semua kebutuhan website, tetapi ada dua kondisi yang mengarah ke pilihan lain.

  • Data dengan aturan dan relasi yang sangat rumit, atau kebutuhan analisis berat di dalam basis data. Di sana PostgreSQL umumnya lebih tepat.
  • Data yang strukturnya berubah-ubah dan tidak cocok dipaksakan ke dalam tabel. Basis data non-relasional lebih sesuai.

Untuk website perusahaan, blog, dan toko daring berbasis PHP, pertanyaan ini praktis tidak muncul — aplikasinya sudah menentukan MySQL sejak awal.

Pertanyaan yang Sering Diajukan

Apakah MySQL gratis? Versi komunitasnya gratis dan itulah yang dipakai hampir semua hosting. Ada juga versi komersial dengan dukungan resmi. MariaDB sepenuhnya open source.

Bagaimana cara mencadangkan database MySQL? Lewat fitur ekspor di phpMyAdmin, lewat fitur cadangan di control panel, atau lewat perintah baris di server. Yang penting adalah cadangan itu tersimpan di luar server dan pernah diuji dikembalikan.

Kenapa muncul galat menyambung ke database? Paling sering karena layanan MySQL berhenti — biasanya akibat memori habis atau penyimpanan penuh — atau karena kredensial di berkas konfigurasi tidak sesuai. Periksa sisa penyimpanan lebih dulu.

Berapa besar database yang dianggap wajar? Tidak ada patokan baku, tetapi database WordPress yang mencapai ratusan megabyte untuk situs berisi ratusan artikel biasanya menandakan penumpukan data sampah, bukan pertumbuhan isi yang wajar.