This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-22. For the latest, interactive version please visit https://mariadb.com/kb/.

MariaDB Online Backup

Note: This page is obsolete. The information is old, outdated, or otherwise currently incorrect. We are keeping the page for historical reasons only. Do not rely on the information in this article.

Rumours have it that MySQL/Sun/Oracle are going to drop the MySQL online backup project, which was originally scheduled for MySQL 6.0.

Given this, it makes sense to consider resurrecting the project for MariaDB. This page collects various resources related to this.

Documentation

Source code

Notes

Extracting a patch for merging

It may not be trivial to extract a patch of MySQL Online Backup that can be used as a basis for merging into MariaDB. The problem is that we do not have a feature tree that contains only the backup feature over some base/parent tree.

There was work done at MySQL to merge online backup into MySQL 5.5 using such a feature tree, but this tree is not public, and requests to make it public have not been answered positively so far.

It may still be possible to extract the code, but it may be necessary to do it manually, by extracting relevant parts of the code from 6.0 without including other stuff that is not related to backup.

It might also be useful to search the bugs.mysql.com MySQL bug tracker for recently fixed online backup bugs, since recent fixes are not included in the publicly available trees on Launchpad.

Comments on the code

From looking at the documentation of Online Backup, it seems geared more towards an optimised mysqldump facility than towards an easy-to-use facility to back up a complete MySQL server:

  • The BACKUP command only allows to backup selected (or all) databases/schemas.
  • There seems to be no facility to backup the binary log
  • There seems to be no facility to backup GRANTs or other server-global configuration, using mysqldump on the "mysql" schema/database is suggested
  • Restoring a new server from scratch seems to involve setting up a new server, including running mysql_install_db and adding GRANTs, and only then restoring tables and other schema objects

Compared to something like XtraBackup, full backup and restore seems to be somewhat more involved. It may be necessary to add extra facilities or wrapper scripts to enable to backup/restore a full database server.

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.