Backup, Restore, dan Replication

Gambar Materi

1. Teknik Backup dan Restore Database
Backup Database adalah proses pembuatan salinan data dari database untuk mengamankan data tersebut agar bisa dipulihkan jika terjadi kerusakan atau kehilangan data. Ada dua jenis utama backup:

Backup Penuh (Full Backup): Salinan lengkap dari seluruh database.

Backup Inkremental (Incremental Backup): Salinan perubahan yang terjadi setelah backup terakhir.

Restore Database adalah proses pemulihan data dari salinan cadangan (backup) yang telah dibuat sebelumnya. Ini digunakan untuk mengembalikan data yang hilang atau rusak.

Cara Backup Database di MySQL:
A.Backup Penuh: Anda bisa menggunakan perintah mysqldump untuk membuat salinan penuh database MySQL.
mysqldump -u root -p nama_database > nama_database_backup.sql

B.Backup Inkremental (dengan binary logs): Backup ini hanya menyimpan perubahan yang terjadi setelah backup terakhir dilakukan, menggunakan binary logs.

Untuk mengaktifkan binary logs, tambahkan baris berikut pada file my.cnf:
log-bin = /path_to_log/binlog

Kemudian, Anda bisa mengambil backup berdasarkan binary logs setelah melakukan backup penuh.


Cara Restore Database di MySQL:
A.Restore dari Backup Penuh: Untuk mengembalikan database dari file backup .sql, gunakan perintah mysql:
mysql -u root -p nama_database < nama_database_backup.sql

B.Restore dari Binary Logs: Anda dapat menggunakan perintah mysqlbinlog untuk memulihkan perubahan yang terjadi setelah backup penuh.
mysqlbinlog /path_to_log/binlog.000001 | mysql -u root -p nama_database

2. Replikasi Database untuk Keandalan Data
Replikasi Database adalah proses menyalin dan menyinkronkan data antara dua atau lebih server database. Replikasi ini digunakan untuk meningkatkan keandalan dan ketersediaan data, serta untuk tujuan load balancing dan disaster recovery.

Jenis-jenis Replikasi:

Replikasi Master-Slave: Server master berfungsi sebagai sumber data, sementara server slave menerima salinan data secara real-time dari master.

Replikasi Master-Master: Kedua server bertindak sebagai master, saling mengupdate data satu sama lain.

Konfigurasi Replikasi Master-Slave di MySQL:
1.Konfigurasi Master: Di server master, aktifkan binary logs dengan menambahkan baris berikut di my.cnf:
log-bin = /path_to_log/binlog
server-id = 1

Restart MySQL server:
sudo service mysql restart

Buat user untuk replikasi:
CREATE USER 'replica_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%';

Catat posisi file log binari dengan perintah:
SHOW MASTER STATUS;

2.Konfigurasi Slave: Di server slave, tambahkan konfigurasi berikut di my.cnf:
server-id = 2

Restart MySQL server:
sudo service mysql restart

Tentukan master untuk slave dan set posisi log binari:
CHANGE MASTER TO
MASTER_HOST='ip_master',
MASTER_USER='replica_user',
MASTER_PASSWORD='password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS= 106;

Mulai replikasi di server slave:
START SLAVE;

Cek status replikasi di slave:
SHOW SLAVE STATUS\G

3. Studi Kasus: Implementasi Backup & Restore di MySQL
Misalkan Anda mengelola sebuah database perpustakaan dan ingin melakukan backup serta restore data menggunakan MySQL.

Langkah 1: Backup Database perpustakaan:
mysqldump -u root -p perpustakaan > perpustakaan_backup.sql

Langkah 2: Menghapus Tabel dari Database perpustakaan:
DROP TABLE IF EXISTS buku;

Langkah 3: Restore Database perpustakaan:
mysql -u root -p perpustakaan < perpustakaan_backup.sql

Langkah 4: Verifikasi Data Setelah Restore:
SELECT * FROM buku;
Jika proses restore berhasil, maka data yang hilang dari tabel buku akan kembali.

-KESIMPULAN-
Backup dan Restore adalah komponen penting dalam strategi pengelolaan database. Dengan melakukan backup secara teratur, data dapat dipulihkan jika terjadi kerusakan atau kehilangan.
Replikasi Database memberikan solusi untuk meningkatkan ketersediaan data dan meningkatkan ketahanan sistem dengan membuat salinan database yang dapat diakses oleh banyak server.
Proses Backup dan Restore di MySQL dapat dilakukan dengan berbagai cara, seperti menggunakan mysqldump untuk backup penuh atau menggunakan binary logs untuk backup inkremental.
Dengan Replikasi yang tepat, Anda dapat memastikan bahwa data tetap tersedia meskipun terjadi kegagalan pada server utama.

Gambar Materi

Kembali ke Daftar Materi