MariaDB backup: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| (9 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
* <code>/usr/local/ | * <code>/usr/local/mysqlbackups/mysql-backup</code> | ||
<pre> | <pre> | ||
#!/bin/bash | #!/bin/bash | ||
cd /usr/local/mysqlbackups/ | |||
/usr/bin/mariabackup --user=root --backup --stream=xbstream \ | /usr/bin/mariabackup --user=root --backup --stream=xbstream \ | ||
| gzip > | | gzip > backup.xb.gz || exit 1 | ||
mv backup.xb.gz backup-$(date '+%Y-%m-%d_%H-%M').xb.gz | |||
\ls backup-*_*.xb.gz | head -n -10 | xargs -r rm | |||
</pre> | </pre> | ||
* | * <code>/etc/cron.hourly/mysql-backup</code> | ||
<pre> | <pre> | ||
# | #!/bin/bash | ||
exec chronic /usr/local/mysqlbackups/mysql-backup | |||
</pre> | </pre> | ||
* 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> | |||
:* Ensure that the datadir (<code>/var/lib/mysql</code>) is empty | |||
:* <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 start</code> | |||
* To restore a single database, see [https://mariadb.com/resources/blog/how-to-restore-a-single-database-from-mariadb-backup/ here]. | |||
[[Category:Linux]] | [[Category:Linux]] | ||
Latest revision as of 17:21, 30 March 2023
/usr/local/mysqlbackups/mysql-backup
#!/bin/bash
cd /usr/local/mysqlbackups/
/usr/bin/mariabackup --user=root --backup --stream=xbstream \
| gzip > backup.xb.gz || exit 1
mv backup.xb.gz backup-$(date '+%Y-%m-%d_%H-%M').xb.gz
\ls backup-*_*.xb.gz | head -n -10 | xargs -r rm
/etc/cron.hourly/mysql-backup
#!/bin/bash exec chronic /usr/local/mysqlbackups/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 start
- To restore a single database, see here.