Instalasi MySQL di Ubuntu
MySQL adalah Relational Database Management System (RDBMS) open-source yang banyak digunakan untuk aplikasi web, CMS, e-commerce, dan platform data. MySQL mendukung transaksi, replikasi, indexing, dan cocok untuk workload development maupun production.
Panduan ini mencakup instalasi MySQL di Ubuntu, pengamanan dengan mysql_secure_installation, dan operasi database dasar seperti pembuatan user dan tabel.
Prasyaratโ
- Server Ubuntu (22.04/24.04/26.04) โ tersedia sebagai Nusa Cloud VPS dari nusa.id cloud
- Akses sebagai user non-root dengan hak sudo
Instalasi MySQLโ
Paket MySQL tersedia di repository default Ubuntu.
sudo apt update
sudo apt install mysql-server -y
Verifikasi versi yang terinstal:
mysql --version
Output contoh:
mysql Ver 8.4.8-0ubuntu1 for Linux on x86_64 ((Ubuntu))
Mengelola Service MySQLโ
sudo systemctl enable mysql
sudo systemctl start mysql
sudo systemctl status mysql
Output yang diharapkan:
โ mysql.service - MySQL Community Server
Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; preset: enabled)
Active: active (running) since ...
Status: "Server is operational"
Pengamanan MySQL Serverโ
Instalasi fresh MySQL mengizinkan akses root tanpa password. Jalankan script pengamanan:
sudo mysql_secure_installation
Jawab prompt berikut:
| Prompt | Jawaban | Keterangan |
|---|---|---|
| VALIDATE PASSWORD COMPONENT | Y | Aktifkan validasi password |
| Password validation policy | 2 | Strong password |
| Remove anonymous users? | Y | Hapus user anonim |
| Disallow root login remotely? | Y | Root hanya dari localhost |
| Remove test database? | Y | Hapus database test |
| Reload privilege tables? | Y | Terapkan perubahan |
Konfigurasi Autentikasi Rootโ
Aktifkan mysql_native_password di file konfigurasi:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Tambahkan baris ini di bawah [mysqld]:
mysql_native_password=ON
Restart MySQL:
sudo systemctl restart mysql
Masuk ke MySQL console dan set password root:
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'P4ssw0rd_Kuat_Anda';
FLUSH PRIVILEGES;
EXIT;
โ ๏ธ Warning: Ganti
P4ssw0rd_Kuat_Andadengan password yang benar-benar kuat. Jangan gunakan password yang sama untuk environment berbeda.
Membuat Database dan Userโ
Login sebagai root:
mysql -u root -p
Buat database:
CREATE DATABASE nama_aplikasi;
Buat user dan beri hak akses:
CREATE USER 'user_aplikasi'@'localhost' IDENTIFIED BY 'P4ssw0rd_User';
GRANT ALL PRIVILEGES ON nama_aplikasi.* TO 'user_aplikasi'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Verifikasiโ
mysql -u user_aplikasi -p
Setelah login, jalankan:
SHOW DATABASES;
Pastikan database nama_aplikasi muncul di daftar.
Operasi Dasar โ Membuat Tabel Sampleโ
USE nama_aplikasi;
CREATE TABLE layanan (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(255) NOT NULL,
deskripsi TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
INSERT INTO layanan (nama, deskripsi) VALUES
('Nusa Cloud VPS', 'Virtual private server untuk berbagai workload'),
('Nusa Web Hosting', 'Hosting website dengan cPanel'),
('Nusa Cloud Mail', 'Email bisnis dengan domain sendiri');
SELECT * FROM layanan;
Output:
+----+-----------------+--------------------------------------------+---------------------+
| id | nama | deskripsi | created_at |
+----+-----------------+--------------------------------------------+---------------------+
| 1 | Nusa Cloud VPS | Virtual private server untuk workload | 2026-06-02 08:00:00 |
| 2 | Nusa Web Hosting| Hosting website dengan cPanel | 2026-06-02 08:00:01 |
| 3 | Nusa Cloud Mail | Email bisnis dengan domain sendiri | 2026-06-02 08:00:02 |
+----+-----------------+--------------------------------------------+---------------------+
Kesimpulanโ
MySQL database server sudah terinstal di Ubuntu dengan konfigurasi keamanan dasar. Server siap digunakan untuk aplikasi berbasis database seperti WordPress, Laravel, atau aplikasi custom.
