Cara Install MySQL 8 di Ubuntu Server Menggunakan Docker

Cara Install MySQL 8 di Ubuntu Server Menggunakan Docker

Pengantar

MySQL adalah salah satu sistem manajemen database (DBMS) yang paling populer, digunakan secara luas untuk website, aplikasi web, dan sistem backend. Meskipun biasanya diinstal langsung ke sistem operasi, cara ini seringkali menimbulkan konflik versi, menyulitkan pemindahan ke server lain, dan membawa risiko pada proses upgrade. Dengan menggunakan Docker, proses instalasi MySQL 8 di Ubuntu Server menjadi lebih cepat, rapi, dan aman karena MySQL dapat berjalan di dalam container terisolasi tanpa mengganggu konfigurasi sistem utama. Beberapa manfaat menggunakan MySQL 8 dengan Docker di Ubuntu Server LTS antara lain instalasi yang lebih cepat dan mudah, tidak mengganggu konfigurasi sistem utama, kemudahan pemindahan (portable), kontrol versi MySQL yang lebih pasti, serta kesesuaian untuk server produksi maupun development. Artikel ini akan membahas cara instalasi MySQL 8 di Ubuntu Server menggunakan Docker LTS secara lengkap dan mudah dipahami.

Persiapan Sebelum Instalasi

Pastikan server sudah memenuhi syarat berikut:

  • Menggunakan Ubuntu Server LTS (20.04 / 22.04 / 24.04)
  • Memiliki akses sudo atau root
  • Koneksi internet aktif
  • Belum ada MySQL yang menggunakan port 3306 (jika ada, matikan terlebih dah

Panduan Instal Docker di Ubuntu Server

  1. Update sistem terlebih dahulu:
    sudo apt update 
  2. Instal Docker di Ubuntu Server
    • Jika Docker belum terpasang, install terlebih dahulu dengan perintah berikut:
      sudo apt install -y docker.io docker-compose-plugin
    • Aktifkan dan jalankan Docker:
      sudo systemctl enable docker
      sudo systemctl start docker
    • Cek apakah Docker dan Docker Compose sudah terpasang:
      docker --version
      docker compose version
  3. Membuat Folder Project MySQL
    • Agar lebih rapi, buat satu folder khusus untuk konfigurasi MySQL::
      mkdir mysql-docker
      cd mysql-docker

      Catatan : Folder ini akan berisi file docker-compose.yml dan data MySQL.

  4. Menggunakan File .env untuk Keamanan Password
    Agar password tidak tertulis langsung di file docker-compose.yml, gunakan file .env.
    • Buat file .env:

      nano .env
    • isi dengan  :
      MYSQL_ROOT_PASSWORD=strongpassword
      MYSQL_DATABASE=db_latihan
      MYSQL_USER=userdb
      MYSQL_PASSWORD=password123
  5. Membuat File docker-compose.yml
    • Buat file konfigurasi Docker Compose::
      nano docker-compose.yml
    • Isi dengan konfigurasi berikut:
      version: '3.8'
      
      services:
        mysql:
          image: mysql:8.0
          container_name: mysql8-server
          restart: always
          ports:
            - "3306:3306"
          environment:
            MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
            MYSQL_DATABASE: ${MYSQL_DATABASE}
            MYSQL_USER: ${MYSQL_USER}
            MYSQL_PASSWORD: ${MYSQL_PASSWORD}
          volumes:
            - ./mysql-data:/var/lib/mysql
      Penjelasan konfigurasi:
      • image: mysql:8.0 - menggunakan MySQL versi 8
      • container_name - nama container
      • restart: always - otomatis hidup jika server restart
      • ports - membuka port MySQL
      • environment - Sesuaikan dengan .env
      • volumes - menyimpan data MySQL di luar container agar tidak hilang
  6. Menjalankan MySQL dengan Docker Compose
    • Jalankan container MySQL dengan perintah:
      docker compose up -d
    • Cek status container:
      docker compose ps

      Jika status Up, berarti MySQL berhasil dijalankan.

Mengakses MySQL di Dalam Container

  1. Untuk masuk ke MySQL melalui terminal:
    docker exec -it mysql8-server mysql -u root -p

    Masukkan password root yang sudah ditentukan di file docker-compose.yml.

  2. Jika berhasil, akan muncul prompt:
    mysql>

Tips atau Catatan Penting

Beberapa best practice yang perlu diperhatikan:

  • Gunakan password yang kuat untuk root MySQL
  • Selalu gunakan volume agar data tidak hilang
  • Jangan membuka port 3306 ke publik tanpa firewall
  • Backup database secara berkala
  • Gunakan Docker Compose dibanding docker run agar konfigurasi rapi
  • Hindari menjalankan MySQL tanpa autentikasi

Kesalahan umum yang sering terjadi:

  • Lupa membuat volume sehingga data hilang saat container dihapus
  • Port 3306 bentrok dengan MySQL lokal
  • Salah mengetik password
  • Firewall belum dibuka
  • Container tidak berjalan karena error konfigurasi YAML

Kesimpulan

Install MySQL 8 di Ubuntu Server menggunakan Docker Compose adalah cara yang praktis, modern, dan aman. Dengan metode ini, MySQL berjalan di dalam container terisolasi sehingga tidak mengganggu sistem utama dan mudah dikelola. Melalui panduan ini, Anda telah mempelajari cara install Docker dan Docker Compose, membuat file docker-compose.yml untuk MySQL 8, menjalankan dan mengakses MySQL, menyimpan data menggunakan volume, serta meningkatkan keamanan dengan file .env. Sebagai langkah lanjutan, Anda bisa menghubungkan MySQL Docker dengan aplikasi seperti WordPress, Laravel, atau backend API, serta membuat sistem backup otomatis menggunakan cron job agar database tetap aman.


Artikel Lain

WhatsApp Kami

Support : +6282138153600

Finance : +6285191239466