Need to migrate your e-mails to a new server? Free and paid versions of our online tool available.
Hero Image

MySQL Backup and Restore on Debian 12

MySQL Backup and Restore on Debian 12

mysqldump

# Single database
mysqldump -u root -p appdb > /backups/appdb_$(date +%F).sql

# All databases
mysqldump -u root -p --all-databases > /backups/all_$(date +%F).sql

# Compressed
mysqldump -u root -p appdb | gzip > /backups/appdb_$(date +%F).sql.gz

Restore

mysql -u root -p appdb < /backups/appdb_2026-05-07.sql
gunzip < /backups/appdb_2026-05-07.sql.gz | mysql -u root -p appdb

XtraBackup (Percona)

xtrabackup --backup --target-dir=/backups/full_$(date +%F)
xtrabackup --prepare --target-dir=/backups/full_2026-05-07

Automated script with .my.cnf

# /root/.my.cnf  (chmod 600)
[client]
user     = root
password = RootPassword
#!/bin/bash
mysqldump --all-databases | gzip > /backups/all_$(date +%F_%H%M).sql.gz
find /backups -name '*.sql.gz' -mtime +7 -delete