在 Ubuntu 上备份 MariaDB 常见、可靠的方式是使用官方工具 mysqldump,也可以结合物理备份工具(如 mariabackup)。下面按常见场景说明。
mysqldump -u root -p dbname > dbname_$(date +%F).sql
mysqldump -u root -p --all-databases > all_db_$(date +%F).sql
mysqldump -u root -p --all-databases | gzip > all_db_$(date +%F).sql.gz
# 只结构
mysqldump -u root -p --no-data dbname > schema.sql
# 只数据
mysqldump -u root -p --no-create-info dbname > data.sql
编辑 /root/.my.cnf:
[mysqldump]
user=root
password=yourpassword
然后可直接执行:
mysqldump --all-databases > backup.sql
⚠️ 注意权限:
chmod 600 /root/.my.cnf
sudo apt install mariadb-backup
mariabackup --backup \
--target-dir=/backup/mariadb \
--user=root --password=yourpassword
mariabackup --prepare --target-dir=/backup/mariadb
✅ 适合 几十 GB 以上数据库
编辑定时任务:
crontab -e
每天凌晨 2 点备份:
0 2 * * * mysqldump -u root -p'password' --all-databases | gzip > /backup/db_$(date +\%F).sql.gz
mysql -u root -p dbname < dbname.sql
gunzip < dbname.sql.gz | mysql -u root -p dbname
| 场景 | 建议 |
|---|---|
| 小库 (<10GB) | mysqldump |
| 大库 | mariabackup |
| 生产环境 | 每日全备 + binlog |
| 重要数据 | 异地/云存储 |
如果你告诉我:
我可以帮你写一套完整备份脚本。