Quick Start Example: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
This section shows a simple example configuration of the Zmanda Recovery Manager (ZRM) for MySQL to perform backup, recovery and reporting. | This section shows a simple example configuration of the Zmanda Recovery Manager (ZRM) for MySQL to perform backup, recovery and reporting. | ||
The example backs up all databases in a MySQL server; ZRM for MySQL is installed on the same machine as the MySQL server. | |||
===Assumptions=== | ===Assumptions=== | ||
* | * The '''/var/lib/mysql-zrm''' directory has sufficient space to contain all backup images for all the MySQL databases on the server. | ||
* The MySQL database has been installed from rpms provided by [http://dev.mysql.com/downloads/mysql/5.0.html MySQL]. | * The MySQL database has been installed from rpms provided by [http://dev.mysql.com/downloads/mysql/5.0.html MySQL]. | ||
* The MySQL database server daemon ('''mysqld''') has been started and is running on the server using the default TCP port (3306) | * The MySQL database server daemon ('''mysqld''') has been started and is running on the server using the default TCP port (3306) | ||
Line 20: | Line 20: | ||
* All ZRM for MySQL commands must be run as the '''mysql''' operating system user. | * All ZRM for MySQL commands must be run as the '''mysql''' operating system user. | ||
=== | === Configuring ZRM for MySQL to Perform Incremental Backup=== | ||
By default, all MySQL databases that are accessible to the MySQL server are set for full backup. To perform incremental backup instead, restart the MySQL server daemon ('''mysqld''') with binary logs enabled. To enable binary logs, add the '''--log-bin''' option to '''mysqld''' where it is invoked in the '''/etc/init.d/mysqld''' script. | |||
Consult the [http://mysqlbackup.zmanda.com/index.php/Do_I_need_to_make_changes_to_MySQL_database_configuration%3F#Binary_logs|MySQL binary logs] section for details on configuring binary logs. | |||
Consult [[Backup_Sets|Backup Sets]] section for more details. | Consult [[Backup_Sets|Backup Sets]] section for more details. | ||
Line 36: | Line 32: | ||
The [[mysql-zrm-scheduler]] utility helps you to schedule automatic periodic backups of the databases. | The [[mysql-zrm-scheduler]] utility helps you to schedule automatic periodic backups of the databases. | ||
First, perform an immediate backup | |||
$ mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0 | $ mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0 | ||
Which creates a '''dailyrun''' backup set that backs up the databases to the '''/var/lib/mysql-zrm/dailyrun''' directory. | |||
Next schedule weekly full backups on Sunday at 2 AM: | Next, schedule weekly full backups on Sunday at 2 AM: | ||
$ mysql-zrm-scheduler --interval weekly --backup-set dailyrun --start 02:00 | $ mysql-zrm-scheduler --interval weekly --backup-set dailyrun --start 02:00 | ||
Line 50: | Line 46: | ||
===Generate Backup Status Reports=== | ===Generate Backup Status Reports=== | ||
The [[mysql-zrm-reporter]] utility | The [[mysql-zrm-reporter]] utility lets you generate standard and customized reports to monitor backup runs. | ||
For example, this command generates a status report: | |||
$ mysql-zrm-reporter --where backup-set=dailyrun --show backup-status-info | $ mysql-zrm-reporter --where backup-set=dailyrun --show backup-status-info | ||
Line 59: | Line 55: | ||
dailyrun Sun 17 Sep 2006 02:16:43 AM PDT 0 Backup succeeded ---- | dailyrun Sun 17 Sep 2006 02:16:43 AM PDT 0 Backup succeeded ---- | ||
Consult the [[Backup_Reports|Backup reports section]] of ZRM for MySQL | Consult the [[Backup_Reports|Backup reports section]] of ZRM for MySQL to generate more complex reports. | ||
===Restore MySQL Database=== | ===Restore the MySQL Database=== | ||
Restoration of backups is done in two steps: | Restoration of backups is done in two steps: | ||
'''Step 1:''' Identify the backup image to be restored. Run a backup report ('''restore-info''') to list all the backup images that are available: | |||
$ /usr/bin/mysql-zrm-reporter -show restore-info --where backup-set=dailyrun | $ /usr/bin/mysql-zrm-reporter -show restore-info --where backup-set=dailyrun | ||
Line 75: | Line 71: | ||
02:16:43 AM PDT 20060917021643 | 02:16:43 AM PDT 20060917021643 | ||
'''Step 2:''' Use the '''[[mysql-zrm]]''' utility to restore the database from the full backup image. | |||
$ mysql-zrm --action restore --backup-set dailyrun \ | $ mysql-zrm --action restore --backup-set dailyrun \ |
Revision as of 13:30, 7 January 2008
This section shows a simple example configuration of the Zmanda Recovery Manager (ZRM) for MySQL to perform backup, recovery and reporting. The example backs up all databases in a MySQL server; ZRM for MySQL is installed on the same machine as the MySQL server.
Assumptions
- The /var/lib/mysql-zrm directory has sufficient space to contain all backup images for all the MySQL databases on the server.
- The MySQL database has been installed from rpms provided by MySQL.
- The MySQL database server daemon (mysqld) has been started and is running on the server using the default TCP port (3306)
- The MySQL application that uses the database has been configured on the server.
- The MySQL database user account mysqlbackup is entered the MySQL my.cnf option file. The option file is located in $MYSQL_HOME/my.cnf. For example:
[client] # The following password will be sent to all standard MySQL clients user=mysqlbackup password="mysqlbackup_password"
- Consult the MySQL reference manual for more information on the MySQL option files.
- Consult the MySQL backup user section on how to configure a MySQL user mysqlbackup.
- ZRM for MySQL has been installed on the server.
- All ZRM for MySQL commands must be run as the mysql operating system user.
Configuring ZRM for MySQL to Perform Incremental Backup
By default, all MySQL databases that are accessible to the MySQL server are set for full backup. To perform incremental backup instead, restart the MySQL server daemon (mysqld) with binary logs enabled. To enable binary logs, add the --log-bin option to mysqld where it is invoked in the /etc/init.d/mysqld script.
Consult the binary logs section for details on configuring binary logs.
Consult Backup Sets section for more details.
Schedule MySQL Database Backups
The mysql-zrm-scheduler utility helps you to schedule automatic periodic backups of the databases.
First, perform an immediate backup
$ mysql-zrm-scheduler --now --backup-set dailyrun --backup-level 0
Which creates a dailyrun backup set that backs up the databases to the /var/lib/mysql-zrm/dailyrun directory.
Next, schedule weekly full backups on Sunday at 2 AM:
$ mysql-zrm-scheduler --interval weekly --backup-set dailyrun --start 02:00
Consult the Daily/_Weekly/_Monthly_Schedules section for more complex backup scheduling.
Generate Backup Status Reports
The mysql-zrm-reporter utility lets you generate standard and customized reports to monitor backup runs. For example, this command generates a status report:
$ mysql-zrm-reporter --where backup-set=dailyrun --show backup-status-info backup_set backup_date backup_level backup_status comment ---------------------------------------------------------------------------------------------------- dailyrun Sun 10 Sep 2006 02:15:23 AM PDT 0 Backup succeeded ---- dailyrun Sun 17 Sep 2006 02:16:43 AM PDT 0 Backup succeeded ----
Consult the Backup reports section of ZRM for MySQL to generate more complex reports.
Restore the MySQL Database
Restoration of backups is done in two steps:
Step 1: Identify the backup image to be restored. Run a backup report (restore-info) to list all the backup images that are available:
$ /usr/bin/mysql-zrm-reporter -show restore-info --where backup-set=dailyrun backup_set backup_date backup_level backup_directory ------------------------------------------------------------------------------------------- dailyrun Sun 10 Sep 2006 0 /var/lib/mysql-zrm/dailyrun/ 02:15:23 AM PDT 20060910021523 dailyrun Sun 17 Aug 2006 0 /var/lib/mysql-zrm/dailyrun/ 02:16:43 AM PDT 20060917021643
Step 2: Use the mysql-zrm utility to restore the database from the full backup image.
$ mysql-zrm --action restore --backup-set dailyrun \ --source-directory /var/lib/mysql-zrm/dailyrun/20060917021643 MySQL server has been shutdown. Please restart after verification.
Consult the restoration section for more details on MySQL database recovery.