MariaDB backup: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 18: | Line 18: | ||
* To restore full backup: | * To restore full backup: | ||
:* | :* <code># mkdir /root/backupdb</code> | ||
:* | :* <code># gunzip -c /usr/local/mysqlbackups/backup-XXXXXXXX.xb.gz | mbstream -x -C /root/backupdb</code> | ||
:* | :* <code># mariabackup --prepare --target-dir=/root/backupdb</code> | ||
:* | :* <code># Ensure that the datadir (/var/lib/mysql) is empty</code> | ||
:* | :* <code># /etc/rc.d/rc.mysqld stop</code> | ||
:* | :* <code># mariabackup --copy-back --target-dir=/root/backupdb</code> | ||
:* | :* <code># chown -R mysql:mysql /var/lib/mysql</code> | ||
:* | :* <code># /etc/rc.d/rc.mysqld sta</code> | ||
* To restore a single database or even a single table, see [https://mariadb.com/resources/blog/how-to-restore-a-single-database-from-mariadb-backup/ here]. | * To restore a single database or even a single table, see [https://mariadb.com/resources/blog/how-to-restore-a-single-database-from-mariadb-backup/ here]. | ||
[[Category:Linux]] | [[Category:Linux]] | ||
Revision as of 18:20, 20 October 2022
/usr/local/sbin/mysql-backup
#!/bin/bash
TS=$(date '+%Y%m%d')
/usr/bin/mariabackup --user=root --backup --stream=xbstream \
| gzip > /usr/local/mysqlbackups/backup-$TS.xb.gz || exit 1
TS=$(date -d "10 days ago" '+%Y%m%d')
rm -f /usr/local/mysqlbackups/backup-$TS.xb.gz
- root's crontab:
# Run mysql backup at 4:00 every day 0 4 * * * chronic /usr/local/sbin/mysql-backup
- To restore full backup:
# mkdir /root/backupdb# gunzip -c /usr/local/mysqlbackups/backup-XXXXXXXX.xb.gz | mbstream -x -C /root/backupdb# mariabackup --prepare --target-dir=/root/backupdb# Ensure that the datadir (/var/lib/mysql) is empty# /etc/rc.d/rc.mysqld stop# mariabackup --copy-back --target-dir=/root/backupdb# chown -R mysql:mysql /var/lib/mysql# /etc/rc.d/rc.mysqld sta
- To restore a single database or even a single table, see here.