Backup Database MariaDB di Terminal Linux

Dari Dokumentasi Robie
Loncat ke navigasi Loncat ke pencarian

Berikut adalah cara untuk membackup database MariaDB dan MySQL di terminal linux.

Perintah di terminal linux untuk membackup 1 database.

mysqldump -u root -p myme_kalender > myme_kalender.sql; (enter)

setelah itu akan diminta password untuk masuk ke database

jika berhasil maka akan muncul file bernama myme_kalender.sql pada folder saat mengetikkan perintah diatas.

Perintah di terminal linux untuk membackup semua database.

mysqldump -u root -p --all-databases > backup_all_databases.sql;

setelah itu akan diminta password untuk masuk ke database.

jika berhasil maka akan muncul file bernama backup_all_databases.sql pada folder saat mengetikkan perintah diatas.

Perintah di terminal linux untuk merestore 1 database ke server lain.

Langkah-Langkah Restore Database di Server Lain

Salin File SQL ke Server Tujuan

Jika file `myme_kalender.sql` ada di komputer lokal dan ingin dipindahkan ke server tujuan, gunakan perintah seperti:


scp myme_kalender.sql user@ip_server_tujuan:/path/to/destination/


Contoh:


scp myme_kalender.sql [email protected]:/home/ubuntu/


Atau jika sudah ada di server tujuan, lewati langkah ini.

---

### 🗃️ 2. Buat Database Baru (Opsional tapi Direkomendasikan)

Login ke MariaDB:

```bash

mysql -u root -p

```

Lalu buat database baru (misalnya namanya `myme_kalender`) dengan perintah SQL:

```sql

CREATE DATABASE myme_kalender;

```

Keluar dari mysql shell:

```sql

exit;

```

---

### 💾 3. Restore File SQL ke Database

Gunakan perintah berikut untuk restore file `.sql` ke database:

```bash

mysql -u [username] -p [nama_database] < [lokasi_file_sql]

```

Contoh nyata:

```bash

mysql -u root -p myme_kalender < myme_kalender.sql

```

- Setelah mengetik perintah ini, kamu akan diminta memasukkan password user MariaDB.

- Proses restore bisa memakan waktu beberapa detik hingga beberapa menit tergantung ukuran file.

---

## 🛠️ Tambahan: Jika File Terkompres (contoh: .sql.gz)

Kalau filenya dalam format `.sql.gz`, ekstrak dulu atau langsung restore via pipe:

```bash

gunzip < myme_kalender.sql.gz | mysql -u root -p myme_kalender

```

---

## 🔍 Tips & Hal yang Perlu Diperhatikan

- Pastikan versi MariaDB/MySQL di server tujuan tidak terlalu jauh berbeda dengan versi asal backup agar tidak terjadi inkompatibilitas.

- Jika file backup menggunakan nama database tertentu di dalamnya, kamu bisa cek dengan membuka file `.sql` (jika tidak besar) untuk melihat baris seperti:

 

  ```sql

  CREATE DATABASE /*!32312 IF NOT EXISTS*/ `myme_kalender` ...

  ```

- Jika kamu tidak membuat database sebelumnya, perintah restore akan gagal kecuali file backup tersebut tidak mengandung struktur pembuatan database otomatis.

---

## 🔄 Bonus: Skrip Sederhana Restore

Kamu bisa buat skrip bash untuk restore lebih cepat:

```bash

#!/bin/bash

DB_USER="root"

DB_NAME="myme_kalender"

SQL_FILE="myme_kalender.sql"

mysql -u $DB_USER -p $DB_NAME < $SQL_FILE

echo "Restore selesai!"

```

Simpan sebagai `restore.sh`, lalu jalankan:

```bash

chmod +x restore.sh

./restore.sh

```

---

Kalau kamu butuh bantuan tambahan misalnya:

- Membuat database otomatis sebelum restore

- Backup+restore dengan user khusus

- Menjalankan restore tanpa interaksi password

Silakan kasih tahu ya 😊