Install MariaDB di Debian 12

Dari Dokumentasi Robie
Revisi sejak 20 Oktober 2026 06.47 oleh Robie (bicara | kontrib)
Loncat ke navigasi Loncat ke pencarian

Pengertian Database

Database adalah kumpulan data yang disimpan secara teratur agar mudah dicari, diolah, dan ditampilkan. Contoh di sekolah data siswa tidak ditulis di buku satu per satu, tetapi disimpan dalam database dengan nama db_sekolah.

Untuk mengatur database dibutuhkan aplikasi yang disebut DBMS (Database Management System). Contoh DBMS adalah MariaDB, MySQL, PostgreSQL. Di praktek ini kita memakai MariaDB.

Bahasa untuk memerintah database disebut SQL (Structured Query Language). Yang dipakai di praktek ini dibagi 3:

  1. DDL untuk membuat struktur. Contoh CREATE DATABASE, CREATE TABLE, DROP TABLE, DROP DATABASE.
  2. DML untuk mengolah isi. Contoh INSERT, SELECT, UPDATE, DELETE.
  3. DCL untuk hak akses. Contoh CREATE USER, GRANT, FLUSH PRIVILEGES.

Kenapa MariaDB di Debian 12

MariaDB adalah hasil fork dari MySQL yang gratis dan open source. Di Debian 12 MariaDB sudah menjadi database bawaan pengganti MySQL dengan versi 10.11.

Saat install ada 2 paket utama:

  1. mariadb-server untuk service database yang jalan di belakang layar lewat port 3306.
  2. mariadb-client untuk perintah mariadb dan mysql lewat terminal.

Di Debian 12 user root memakai unix_socket, artinya login harus pakai sudo tanpa password seperti sudo mariadb -u root. Ini beda dengan Ubuntu yang biasanya diminta password saat install.

Istilah Dasar yang Dipakai di Praktek Ini

Agar tidak bingung saat praktek, hafalkan istilah berikut yang dipakai dengan contoh data siswa:

  1. Database db_sekolah adalah lemari besarnya.
  2. Tabel siswa adalah satu laci di dalam lemari.
  3. Kolom adalah judul tegak. Contoh nis, nama, kelas, jurusan.
  4. Baris atau record adalah isi mendatar. Contoh '001', 'Andi Pratama', 'XII', 'TJKT'.
  5. Primary Key adalah penanda unik agar tidak kembar. Di praktek ini nis VARCHAR(10) PRIMARY KEY.

Alur praktek di bawah urutannya sama dengan cara kerja asli: install lalu cek service, masuk, lihat database, buat database, pilih database, buat tabel, isi data, edit, hapus sebagian, backup, atur user, baru hapus tabel dan database untuk latihan.

Install MariaDB di Debian 12

Untuk menginstall MariaDB di Debian 12 caranya mudah. lakukan perintah berikut pada terminal linux.

Update Sistem

robie@debian:~$ sudo apt update

Instal MariaDB

robie@debian:~$ sudo apt install mariadb-server mariadb-client -y

tunggu proses hingga selesai.

Proses install akan terlihat seperti berikut

robie@debian:~$ sudo apt install mariadb-server mariadb-client -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  galera-4 gawk libaio1 libdbi-perl libhtml-template-perl libsigsegv2
  mariadb-client-core mariadb-server-core socat
...
Setting up mariadb-server (1:10.11.4-1~deb12u1) ...
Processing triggers for libc-bin ...
robie@debian:~$

Cek Service MariaDB

Untuk mengecek service mariadb sudah berjalan ketikkan perintah berikut

robie@debian:~$ sudo systemctl status mariadb

Jika instalasi berhasil, akan terlihat pesan active (running).

Agar otomatis jalan saat komputer hidup

robie@debian:~$ sudo systemctl enable mariadb

Untuk mengecek versi

robie@debian:~$ mariadb --version

Masuk ke MariaDB lewat Terminal

Di Debian 12 user root memakai unix_socket, jadi masuk pakai sudo tanpa password

robie@debian:~$ sudo mariadb -u root -p

atau

robie@debian:~$ sudo mysql -u root

Jika berhasil akan terlihat seperti berikut

Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
MariaDB [(none)]>

Untuk keluar nanti ketik EXIT;

Mengecek Database

Setelah masuk ke MariaDB [(none)]> ketikkan perintah berikut untuk melihat database yang ada

MariaDB [(none)]> SHOW DATABASES;

akan terlihat seperti berikut

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

Membuat Database Baru

Contoh membuat database dengan nama db_sekolah

MariaDB [(none)]> CREATE DATABASE db_sekolah;

cek lagi dengan SHOW DATABASES; maka db_sekolah sudah ada.

Memilih Database

Untuk memakai database yang telah dibuat

MariaDB [(none)]> USE db_sekolah;

akan terlihat

Database changed
MariaDB [db_sekolah]>

Membuat Tabel

Contoh membuat tabel siswa ke database db_sekolah yang telah dipilih

MariaDB [db_sekolah]> CREATE TABLE siswa (

nis VARCHAR(10) PRIMARY KEY,
nama VARCHAR(50),
kelas VARCHAR(10),
jurusan VARCHAR(20)
);

Untuk mengecek tabel

MariaDB [db_sekolah]> SHOW TABLES;

Untuk melihat struktur tabel

MariaDB [db_sekolah]> DESCRIBE siswa;

Menginputkan Data ke Tabel

Contoh input data siswa

MariaDB [db_sekolah]> INSERT INTO siswa (nis, nama, kelas, jurusan) VALUES ('001', 'Andi Pratama', 'XII', 'TJKT'); MariaDB [db_sekolah]> INSERT INTO siswa (nis, nama, kelas, jurusan) VALUES ('002', 'Budi Santoso', 'XII', 'TJKT'), ('003', 'Siti Aminah', 'XI', 'TJKT');

Untuk melihat isi tabel

MariaDB [db_sekolah]> SELECT * FROM siswa;

akan terlihat seperti berikut

+------+--------------+-------+---------+
| nis  | nama         | kelas | jurusan |
+------+--------------+-------+---------+
| 001  | Andi Pratama | XII   | TJKT    |
| 002  | Budi Santoso | XII   | TJKT    |
| 003  | Siti Aminah  | XI    | TJKT    |
+------+--------------+-------+---------+

Mengedit Data di Tabel

Contoh mengedit kelas Siti Aminah dari XI menjadi XII

MariaDB [db_sekolah]> UPDATE siswa SET kelas='XII' WHERE nis='003';

cek lagi dengan SELECT * FROM siswa WHERE nis='003';

Menghapus Data di Tabel

Contoh menghapus data Budi Santoso

MariaDB [db_sekolah]> DELETE FROM siswa WHERE nis='002';

cek lagi dengan SELECT * FROM siswa; maka tinggal 2 data.

Backup dan Restore Database

Lakukan backup sebelum menghapus tabel atau database. Harus keluar dulu dari mariadb dengan EXIT;

robie@debian:~$ sudo mysqldump -u root -p db_sekolah > backup-sekolah.sql

masukkan password root lalu cek hasil backup

robie@debian:~$ ls -lh backup-sekolah.sql

akan terlihat seperti berikut

-rw-r--r-- 1 robie robie 2,5K Okt 13 10:00 backup-sekolah.sql

Untuk melihat isi file backup

robie@debian:~$ cat backup-sekolah.sql

Untuk restore ke database baru. Contoh restore ke db_sekolah_baru

MariaDB [(none)]> CREATE DATABASE db_sekolah_baru; MariaDB [(none)]> EXIT;

robie@debian:~$ sudo mysql -u root -p db_sekolah_baru < backup-sekolah.sql

cek hasil restore

robie@debian:~$ sudo mariadb -u root -p MariaDB [(none)]> USE db_sekolah_baru; MariaDB [db_sekolah_baru]> SHOW TABLES; MariaDB [db_sekolah_baru]> SELECT * FROM siswa;

maka data siswa akan kembali seperti semula.

Membuat User Baru dan Hak Akses

Agar tidak selalu memakai user root, buat user baru. Contoh membuat user guru dengan password 12345

MariaDB [(none)]> CREATE USER 'guru'@'localhost' IDENTIFIED BY '12345';

Untuk melihat user yang ada

MariaDB [(none)]> SELECT User, Host FROM mysql.user;

akan terlihat seperti berikut

+-------------+-----------+
| User        | Host      |
+-------------+-----------+
| mariadb.sys | localhost |
| root        | localhost |
| guru        | localhost |
+-------------+-----------+

Berikan hak akses ke database db_sekolah

MariaDB [(none)]> GRANT ALL PRIVILEGES ON db_sekolah.* TO 'guru'@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES;

Untuk mengecek hak akses user guru

MariaDB [(none)]> SHOW GRANTS FOR 'guru'@'localhost';

Untuk mencoba login dengan user guru keluar dulu dengan EXIT; lalu ketikkan perintah berikut

robie@debian:~$ mariadb -u guru -p

masukkan password 12345 maka akan masuk

Enter password:
Welcome to the MariaDB monitor.
MariaDB [(none)]>

Jika ingin menghapus user

MariaDB [(none)]> DROP USER 'guru'@'localhost';

Menghapus Tabel

MariaDB [db_sekolah]> DROP TABLE siswa;

cek dengan SHOW TABLES; maka akan kosong Empty set.

Menghapus Database

MariaDB [db_sekolah]> DROP DATABASE db_sekolah;

cek dengan SHOW DATABASES; maka db_sekolah sudah hilang.

Untuk keluar dari mariadb

MariaDB [(none)]> EXIT;

<?php
// 1. Data koneksi
$host = "localhost";
$user = "guru";
$pass = "12345";
$db   = "db_sekolah";

// 2. Membuat koneksi ke MariaDB
$koneksi = mysqli_connect($host, $user, $pass, $db);

// 3. Cek koneksi
if (!$koneksi) {
    die("Koneksi gagal: " . mysqli_connect_error());
}

// 4. Menjalankan perintah SQL
$hasil = mysqli_query($koneksi, "SELECT * FROM siswa");
?>
<!DOCTYPE html>
<html>
<head>
    <title>Data Siswa</title>
</head>
<body>
    <h2>Data Siswa</h2>
    <table border="1" cellpadding="5" cellspacing="0">
        <tr>
            <th>No</th>
            <th>NIS</th>
            <th>Nama</th>
            <th>Kelas</th>
            <th>Jurusan</th>
        </tr>
        <?php
        $no = 1;
        // 5. Mengambil data baris demi baris
        while ($row = mysqli_fetch_assoc($hasil)) {
        ?>
        <tr>
            <td><?php echo $no++; ?></td>
            <td><?php echo htmlspecialchars($row['nis']); ?></td>
            <td><?php echo htmlspecialchars($row['nama']); ?></td>
            <td><?php echo htmlspecialchars($row['kelas']); ?></td>
            <td><?php echo htmlspecialchars($row['jurusan']); ?></td>
        </tr>
        <?php } ?>
    </table>
</body>
</html>
<?php
// 6. Menutup koneksi
mysqli_close($koneksi);
?>