Database

Cara Instalasi Database MySQL Community Server di Ubuntu 24.04 LTS

Cara Instalasi Database MySQL Community Server di Ubuntu 24.04 LTS
Daftar Isi

MySQL Community Server adalah edisi open source dari MySQL, RDBMS (Relational Database Management System) paling banyak dipakai di dunia, didistribusikan langsung oleh Oracle lewat repository resmi (bukan lewat repository default Ubuntu). Panduan ini menjelaskan instalasi MySQL Community Server di Ubuntu 24.04 LTS memakai paket qVM-2, mulai dari setup repository resmi, hardening lewat mysql_secure_installation, pembuatan database dan user pertama, sampai konfigurasi supaya bisa diakses remote secara aman.

Pengenalan

Ubuntu 24.04 LTS sebenarnya sudah menyertakan MySQL 8.0 di repository default-nya, tapi paket tersebut adalah build Ubuntu sendiri, bukan build resmi dari Oracle. Panduan ini memakai repository resmi MySQL (repo.mysql.com) lewat package mysql-apt-config, supaya yang terpasang benar-benar MySQL Community Server — build resmi Oracle, dengan siklus update yang mengikuti rilis upstream secara langsung, bukan menunggu Ubuntu mem-package ulang.

Repository resmi ini juga memberi pilihan versi: MySQL 8.0 sudah masuk masa Sustaining Support sejak April 2026 (hanya dapat critical fix, bukan pengembangan aktif), sehingga panduan ini memakai MySQL 8.4 LTS — versi LTS terbaru yang direkomendasikan Oracle untuk deployment baru untuk production.

MySQL Server pada versi 8.x memakai caching_sha2_password sebagai default authentication plugin, menggantikan mysql_native_password yang dipakai versi 5.7 ke bawah — beberapa client/driver lama (khususnya driver PHP atau Python yang sudah usang) terkadang belum kompatibel dengan plugin ini, jadi perlu diperhatikan kalau aplikasi Anda melempar error auth saat koneksi pertama kali ke database.

Instalasi fresh secara default hanya listen di 127.0.0.1, dan root memakai auth_socket plugin (menyerupai unix_socket di MariaDB) — login root hanya bisa lewat user Linux root tanpa password terpisah.

Ubuntu 24.04 LTS dipilih sebagai basis OS karena mendapat dukungan resmi (security update dan bug fix) hingga April 2029. Panduan ini ditujukan untuk qVM yang baru saja di-deploy (fresh install), belum ada konfigurasi tambahan apa pun.

Persyaratan

Software

  • Ubuntu 24.04 LTS, kondisi fresh install
  • Akses root atau user dengan hak sudo
  • Koneksi internet untuk mengunduh package dari repository resmi MySQL
  • SSH client pada sisi lokal untuk remote ke qVM

Hardware / Spesifikasi VPS qVM

Panduan ini menggunakan paket qVM-2, dengan spesifikasi:

  • vCPU: 1 core
  • RAM: 2 GiB
  • Storage: 50 GiB

RAM 2 GiB sudah cukup untuk database dengan working set kecil hingga menengah. Untuk workload yang lebih berat, parameter seperti innodb_buffer_pool_size bisa disesuaikan lebih lanjut sesuai kebutuhan traffic aplikasi.

Tahapan

1. Update dan Upgrade OS Ubuntu 24.04 LTS

bash
apt update && sudo apt upgrade -y

2. Tambahkan Repository Resmi MySQL

Unduh package konfigurasi repository resmi dari Oracle:

bash
wget https://dev.mysql.com/get/mysql-apt-config_0.8.36-1_all.deb
dpkg -i mysql-apt-config_0.8.36-1_all.deb

Perintah dpkg -i di atas akan menampilkan menu interaktif (ncurses) untuk memilih produk dan versi. Pastikan pilihan berikut:

  • MySQL Server & Cluster diarahkan ke mysql-8.4-lts (bukan mysql-8.0, yang sudah masuk Sustaining Support)
  • Pilih Ok untuk menyimpan konfigurasi

SCR-20260818-kqgz SCR-20260818-kqje SCR-20260818-kqpr

Update package index supaya repository baru terbaca:

bash
apt update

3. Instalasi MySQL Community Server

bash
apt install mysql-community-server -y

SCR-20260818-krkj

SCR-20260818-krfo

SCR-20260818-krhz

Melakukan instalasi secara eksplisit dengan nama package mysql-community-server (bukan mysql-server) memastikan yang terpasang benar-benar edisi Community Server dari repository resmi, bukan meta-package yang bisa saja fallback ke sumber lain.

Aktifkan agar berjalan otomatis saat qVM di-reboot, lalu periksa statusnya:

bash
systemctl enable mysql
systemctl status mysql

Verifikasi versi dan edisi yang terpasang:

bash
mysql --version

SCR-20260818-ksbe

Output seharusnya menyertakan teks MySQL Community Server - GPL, menandakan edisi dan sumber package sudah sesuai.

4. Amankan Instalasi (mysql_secure_installation)

bash
mysql_secure_installation

SCR-20260818-kswy

Script ini akan menawarkan validasi kekuatan password (VALIDATE PASSWORD COMPONENT), lalu mengatur password root, menghapus anonymous user, menonaktifkan remote login root, dan menghapus database test. Ikuti prompt dan jawab Y untuk seluruh opsi hardening.

5. Membuat Database dan User Pertama

Login sebagai root:

bash
mysql -u root -p

Buat database dan user aplikasi dengan privilege terbatas:

sql
CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'PasswordKuatAnda';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Apabila aplikasi Anda memakai driver/library lama yang belum mendukung caching_sha2_password, buat user dengan authentication plugin lama sebagai alternatif:

sql
CREATE USER 'app_user_legacy'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PasswordKuatAnda';

6. Konfigurasi Remote Access (Opsional)

qVM tidak memakai private network antar-instance — setiap qVM cuma punya IP Publik, jadi akses remote ke database otomatis berarti trafik lewat internet publik. qVM juga tidak mengaktifkan firewall (ufw) secara default — seluruh port yang listen otomatis bisa diakses dari internet. Konsekuensinya, grant user yang dibatasi per-IP jadi satu-satunya lapisan proteksi di titik ini — pastikan langkah di bawah benar-benar diikuti, jangan pernah pakai wildcard %.

Lewati tahap ini apabila aplikasi Anda berjalan di server yang sama. Lanjutkan hanya apabila aplikasi benar-benar berjalan di qVM terpisah.

bash
vim /etc/mysql/mysql.conf.d/mysqld.cnf

Ubah baris:

text
bind-address = 127.0.0.1

Menjadi IP Publik qVM (bukan 0.0.0.0):

text
bind-address = 161.248.116.110

Buat user yang dibatasi ke IP Publik client tertentu (bukan wildcard %):

sql
CREATE USER 'app_user'@'198.51.100.20' IDENTIFIED BY 'PasswordKuatAnda';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'198.51.100.20';
FLUSH PRIVILEGES;

Ganti 198.51.100.20 dengan IP Publik qVM aplikasi yang akan konek. Apabila ada beberapa client, ulangi CREATE USER/GRANT untuk tiap IP Publik yang berbeda — MySQL akan menolak koneksi dari IP mana pun yang tidak match dengan grant yang terdaftar, meskipun port 3306 bisa dijangkau dari mana saja di internet.

Restart service agar konfigurasi diterapkan:

bash
systemctl restart mysql

Karena koneksi lewat internet publik tanpa firewall di depannya, sangat disarankan mengaktifkan enkripsi TLS untuk trafik antara client dan database — MySQL 8.x sudah menyertakan require_secure_transport sebagai opsi bawaan; aktifkan untuk mewajibkan seluruh koneksi remote memakai SSL/TLS.

7. Verifikasi Instalasi

bash
mysql -u app_user -p -h localhost app_db -e "SELECT VERSION();"

SCR-20260818-kttt

Apabila query berhasil mengembalikan version string, MySQL Community Server sudah siap dipakai aplikasi.

Kesimpulan

Sampai tahap ini, VPS qVM-2 (1 core, 2 GiB RAM, 50 GiB storage) sudah menjalankan MySQL Community Server 8.4 LTS dari repository resmi Oracle, dengan instalasi yang sudah di-harden lewat mysql_secure_installation, database dan user aplikasi terpisah dari root, serta opsi remote access yang dibatasi lewat grant per-IP Publik. MySQL Community Server pada titik ini sudah siap dipakai untuk kebutuhan aplikasi production sehari-hari.

Mulai Kelola Infrastruktur Cloud Anda

Akun Sequel Anda siap untuk memesan & mengelola layanan cloud.

Bagikan
Apakah artikel ini membantu?