Backup & Restore menggunakan Mysqlsh
Berikut contoh script backup MySQL menggunakan MySQL Shell (mysqlsh) — ini adalah cara modern dan lebih cepat dibanding mysqldump, karena mendukung parallel dump, compression, dan incremental backup (jika ke InnoDB Cluster).
🧩 1. Contoh backup full instance (semua database)
mysqlsh \
--uri bkpuser@mysql-host:3306 \
--password='YourPasswordHere' \
-- util dump-instance /path/to/backup \
--threads=8 \
--compress
Penjelasan:
| Parameter | Arti |
|---|---|
--uri |
Format koneksi: user@host:port |
--password |
Password untuk user (bisa dikosongkan agar prompt meminta input) |
util dump-instance /path/to/backup |
Melakukan dump seluruh instance MySQL ke folder /path/to/backup |
--threads=8 |
Paralelisme (semakin besar = semakin cepat) |
--compress |
Kompres output dump menjadi .zst (Zstandard) |
🧩 2. Contoh backup hanya satu database
mysqlsh \
--uri bkpuser@mysql-host:3306 \
--password='YourPasswordHere' \
-- util dump-schema elao_prod /mnt/db-backup/elao_prod_backup \
--threads=4 \
--compress
Ini hanya akan membackup database
elao_prodke direktori/mnt/db-backup/elao_prod_backup.
🧩 3. Contoh backup hanya tabel tertentu
mysqlsh \
--uri bkpuser@mysql-host:3306 \
--password='YourPasswordHere' \
-- util dump-tables elao_prod ./backup/elao_prod_orders \
--tables orders,customers \
--threads=4 \
--compress
Hanya tabel
ordersdancustomersdari databaseelao_prod.
🧩 4. Contoh script bash otomatis (backup harian)
#!/bin/bash
# mysqlsh_backup.sh
# Backup MySQL menggunakan mysqlsh util dump-instance
HOST="mysql-shared-prod-04.mysql.database.azure.com"
USER="bkpuser"
PASS="YourPasswordHere"
BACKUP_DIR="/mnt/db-backup/mysqlsh"
DATE=$(date +"%Y%m%d")
mkdir -p "$BACKUP_DIR/$DATE"
mysqlsh --uri ${USER}@${HOST}:3306 --password="${PASS}" \
-- util dump-instance "$BACKUP_DIR/$DATE" \
--threads=8 \
--compress
if [ $? -eq 0 ]; then
echo "Backup berhasil disimpan di $BACKUP_DIR/$DATE"
else
echo "Backup gagal!"
fi
🧩 5. Restore hasil backup
Untuk melakukan restore, gunakan perintah:
mysqlsh \
--uri admin@mysql-host:3306 \
--password='YourPasswordHere' \
-- util load-dump /path/to/backup \
--threads=8