MYSQL-ZRM(1)

πŸ“¦ version 3.0, in epel 9, fedora 43, fedora 44

✨ NAME ✨

okay so welcome to mysql-zrm(1) bestie πŸ’– β€” this is the manual for mysql-zrm, the backup and recovery utility for ZRM for MySQL. yes it's a whole thing and yes it slays 🫢


🌸 SYNOPSIS 🌸

mysql-zrm --action [ backup | restore | schedule-backup | report | list
 | purge | parse-binlogs | check | verify-backup | extract-backup |
abort-backup ]

like. that's the whole vibe. one --action and off you go πŸ¦‹


πŸ’œ DESCRIPTION πŸ’œ

ZRM for MySQL gives you automated scheduling of live MySQL database backup. the way that you literally only configure it once to match your MySQL deployment, and then you just… schedule it and let it run unattended backups?? iconic behaviour fr fr πŸ‘‘

and there's a whole pile of options to help an administrator out:

  • Verify the backups created. βœ…
  • Generate various types of reports about the backups created. πŸ“Š
  • Specify compression and encryption as desired. πŸ”
  • Report information about the backups via an email or RSS feed. πŸ“§
  • Access pre- and post- backup plugins to extend the suite further. 🧩
  • Control full and selective restore operations on the database, both locally and remotely. 🌍

ZRM for MySQL's primary command line utility is mysql-zrm, which provides the core backup/restore functions for MySQL databases. main character energy, obviously πŸ’…

Use the mysql-zrm.conf(5) configuration file to set mysql-zrm options. and use the --action check option to verify the configuration of mysql-zrm β€” a lil vibe check for your config, no cap πŸŽ€

Use mysql-zrm to create full or incremental backups of MySQL databases, and perform full, incremental and selective restores as well. the --list option provides information about prior backups. lowkey the most useful thing ever πŸ’€

To display help on individual action options, append the --help option to the appropriate command line. for example:

mysql-zrm --action backup --help

see? easy. 😌


πŸŽ€ BACKUP SETS πŸŽ€

ZRM for MySQL organizes the backups into 'backup sets.' each backup set defines:

  • a list of database(s) or table(s) within a database to back up
  • backup options to use on this backup set
  • scheduling options to use on this backup set.

Backup sets are identified by a unique name. periodt. 🏷️

Every backup run (each time mysql-zrm is executed) is associated with one backup set. various parameters can be associated with each backup run. yes, it's giving very organized. πŸ—‚οΈ

mysql-zrm first reads the global configuration file (/etc/mysql-zrm/mysql-zrm.conf). the global configuration file can be overridden by any backup set configuration file stored in the /etc/mysql-zrm/backup set name/ directory. and then the mysql-zrm command line options will override the parameters specified in the configuration files. hierarchy!! πŸ‘‘βœ¨


🌈 BACKUP METHODS 🌈

mysql-zrm backups can be either full or incremental. full backups can be logical backups or raw backups. logical backups contain SQL statements to recreate the database. raw backups are actual copies of the database files. two completely different vibes fr πŸ¦‹

When logical backup is specified, the utility uses only mysqldump for backing up specified databases and tables.

When raw backup is specified, the utility has the ability to decide which backup mechanism to use for a particular database. if there are no transactional storage engine based tables in the specified database, it uses mysqlhotcopy for backing up that database. otherwise, it uses mysqldump for backing up the specified database. it's literally choosing for you, we love a decisive king πŸ’…

An index file is also created in the backup directory. the index contains the details of what was backed up, how much data was backed up, what parameters were used to backup the data, how much time it took to backup etc. receipts!! 🧾


🫢 RECOVERY 🫢

When restoring databases, only the all-databases and databases options are allowed. in the case of clusters, only the all-databases option is allowed. that's the rule bestie, no exceptions 😭

When the backup contains only specific tables from a database, you need to specify mysql-zrm action as restore and the database name to restore the backed up tables. tables not included in the backup but present in the database will be left untouched. so chill, nothing sketchy happens to them πŸ’–


⭐ ACTIONS ⭐

Specify backup to initiate a backup run. πŸš€

Use restore to restore from a specified backup. βͺ

Use schedule-backup to setup the schedule for the backup. πŸ—“οΈ

specify report to generate reports on backup runs. πŸ“ˆ

Use check to verify if a backup set configuration is correct. βœ…

Use list to display the backup level, the name of the directory containing the backup and the index of the last backup of the specified backup set. πŸ“‹

Action parse-binlogs will display the parsed output of the binary logs. this is useful to find out the log positions and/or timestamp to be used for restore operations. πŸ”

Specify purge to remove backups present in the directory specified by the destination option whose retention policy has been exceeded. πŸ—‘οΈ

Specify verify-backup to verify a backup. 🧐

Use extract-backup to uncompress/decrypt a specified backup. πŸ“¦

Specify abort-backup to abort the backup run for a given backup-set. πŸ›‘


πŸ’… OPTIONS πŸ’…

  • --action backup | restore | schedule-backup | report | list | purge | parse-binlogs | check | verify-backup | extract-backup | abort-backup β€” these mutually exclusive --action options choose the basic functionality of the utility.
⚠️ heads up bestie: this form cannot be used in the configuration file. command line only, okay? πŸš«πŸ“„

🎁 FILES 🎁

  • /var/lib/mysql-zrm β€” directory under which all backup data is stored. πŸ—„οΈ
  • /etc/mysql-zrm/backup set name/mysql-zrm.conf β€” configuration file ZRM for MySQL. βš™οΈ

πŸ’€ RETURN VALUES πŸ’€

On success, zero is returned. on error, a non-zero value is returned. simple as that, iykyk ✨


πŸ¦‹ SEE ALSO πŸ¦‹

mysql-zrm-backup(1), mysql-zrm-manage-backup(1), mysql-zrm-manage-backup(1), mysql-zrm-restore(1), mysql-zrm-check(1), mysql-zrm-list(1), mysql-zrm-parse-binlogs(1), mysql-zrm-purge(1), mysql-zrm-extract-backup(1), mysql-zrm-verify-backup(1), mysql-zrm-abort-backup(1), mysql-zrm-scheduler(1), mysql-zrm-reporter(1), mysql-zrm.conf(5), mysqldump(1), mysqlbinlog(1), mysql(1), lvm(8), Zmanda Recovery Manager for MySQL (http://mysql-backup.zmanda.com/)

(yes mysql-zrm-manage-backup(1) is listed twice in the original and i'm keeping it, no i will not be taking questions πŸ˜­πŸ’–)


πŸ‘‘ AUTHOR πŸ‘‘

Zmanda Inc. (http://www.zmanda.com) 🌸


and that's the whole page bestie!! πŸŽ‰ this masterpiece came to you from Zmanda, Inc. as part of ZRM for MySQL, and you just finished reading mysql-zrm(1) 🫢 go back up your databases, you absolute legend πŸ’…βœ¨πŸŒˆ

πŸ“¦ where this page comes from