Database Backup (for PMP with MySQL)

(Procedure applicable only for builds 6302 and later. For earlier versions, click here)

Data stored in PMP database are of critical importance and in any production environment, there would be constant requirements for backing up the data for reference purposes or for disaster recovery. To achieve this, PMP provides two features:

    1. Live Backup of PMP database
    2. Scheduled Backup

Live Backup

Whenever there happens an addition or modification of the entries in the PMP database, the data gets immediately backedup. PMP achieves this live backup by leveraging the database replication feature offered by MySQL.

A live 'slave' database could be configured in a remote location and it will get instantaneously updated whenever the 'master' database running with PMP undergoes a change. At any point of time, the data in both the databases will be in synchronization with each other. In the unlikely event of any disaster to the primary database, you can rely on the slave database and recover the data.

To enable Live Backup,

Prerequisite

After installation, the PMP server should have been started and stopped at least once. If PMP server is already running, stop it before proceeding further. Ensure that the mysqld process of PMP is NOT running

Step 1: Setup master and slave databases

  • Go to <PMP_Installation_Folder>/bin directory and run the script replicationPack.bat <FQDN of PMP Primary Server> <FQDN OF Remote Host where slave database is running> (in Windows) / replicationPack.sh <FQDN of PMP Primary Server><FQDN OF Remote Host where slave database is running>(in Linux)
  • To run this script, you need to pass the fully qualified domain names of (1) the host where PMP primary server is running and (2) the host where slave database is to be put, as commandline arguments. For Example, if the primary server is running at say testserver in the domain zohocorpin.com and the slave database is to be put in the host (say) testserver1 in the domain zohocorpin.com , you need to execute the above script as follows:

    In Windows

    replicationPack.bat testserver.zohocorpin.com testserver1.zohocorpin.com

    In Linux

    sh replicationPack.sh testserver.zohocorpin.com testserver1.zohocorpin.com

  • This will create the data replication package "LiveBackup.zip" under <PMP_Home>/replication folder.
  • Move this zip file from <PMP_Home>/replication folder to the remote host where you wish to keep the slave database for live backup
  • Unzip the zip file in the remote host
  • The slave database is now setup
  • The database that is bundled with PMP acts as the master database. No separate setup is required for that

Step 2: Start PMP server and slave database

  • Now, start the PMP server. This in turn starts the master database.
  • Go to the remote machine, open a command prompt with administrator privilege and navigate to the /bin folder and run the script startSlaveDB.bat (Windows) / startSlaveDB.sh (Linux). This will start the slave database.

Verify Live Backup Setup

After carrying out the above steps, you can verify if the Live Backup setup is working properly by looking at the message in "Admin >> General >> Database Backup" page. If the setup is proper, you will see the following:

Connection Status: Alive and Live Backup is in progress now

Slave database is running in host: <Host Name>

Recovering data from slave when master database crashes

In the rare event of master database crash, you can recover data from the slave database.

To recover the data,

  • In the remote machine where slave DB is running, navigate to <MySQL>/data folder and create a zip of the following:
    • "passtrix" directory
    • "ibdata1" file
  • Copy the zip created as above
  • Go to the machine where PMP was running
  • Get a fresh PMP installation in the machine where the master database was running
  • Navigate to /mysql/data folder and unzip the zip created from the slave database. Once you do this, the data is safely recovered in the new PMP version
  • After extracting the zip, navigate to <PMP_Installation_Folder>/conf folder, edit manage_key.conf and specify the location of pmp_key.key (encryption master key). PMP requires the pmp_key.key file accessible with its full path when it starts up every time. After a successful start-up, it does not need the key anymore and so the device with the key file can be taken offline.
  • Now, start the PMP server

Note: Once you recover the data from the slave and give life to the master database, the slave database will no longer be valid. Just delete the mysql folder in the remote machine. If you want to have the Live Backup enabled again, you need to follow the steps once again.

Scheduled Backup

You can schedule database backup to be executed at any specific point of time.

To schedule database backup,

  • Go to "Admin" tab
  • Click "Database Backup" icon under "General" section
    In the UI that opens up,
  • Select the schedule option - day, weekly or monthly.

To schedule database backup,

    1. If your requirement is to backup the database contents in specific day intervals - say, once in three days, this option would come in handy. You can choose any interval between 1 and 28 and also specify the time at which backup has to be taken.
    2. To enable this option, click the radio button "Day"
    3. Select the day interval
    4. Select the time at which backup has to be taken
    5. Backed up data are stored as a .zip file under <PMP_Home>/backUp directory by default. If you want, you can specify the destination directory where you wish to store the backedup contents.
    6. Every time backup is executed, one backup file will be created. You can specify the maximum number of such backup files to be kept in this directory. For example, if you choose "10" in the drop-down against the field "Maintain latest --- backups only", only the latest 10 backup files would be kept under this directory
    7. Click "Save". The required backup schedule is created
  • Where does the backup data get stored? Is it encrypted?
  • All sensitive data in the backup file are stored in encrypted form in a .zip file under <PMP_Home/backUp> directory or under the directory specified by you. It is recommended that you backup this file in your secure, secondary storage for disaster recovery.

  • What is the best option for database backup schedule?
  • Database backup operation is both time and resource consuming. Hence, it is recommended to schedule it to run during off-peak traffic timings. While the operation is in progress, no configuration change could be performed in PMP.

  • Can I replicate the data to another server and have the permissions stay intact?
  • Yes. PMP application is stateless and all the data are stored in the database and just replicating the database against a fresh installation of the application gets you all the data intact.

To schedule backup on a specific day every week,

    1. If your requirement is to backup the database contents on a specific day every week - say, on Mondays, this option would come in handy. You can choose any day from Sunday to Saturday and also specify the time at which backup has to be taken. To enable this option,
    2. click the radio button "Weekly"
    3. select the day of the week
    4. select the time at which backup has to be taken
    5. Backed up data are stored as a .zip file under <PMP_Home>/backUp directory by default. If you want, you can specify the destination directory where you wish to store the backedup contents.
    6. Every time backup is executed, one backup file will be created. You can specify the maximum number of such backup files to be kept in this directory. For example, if you choose "10" in the drop-down against the field "Maintain latest --- backups only", only the latest 10 backup files would be kept under this directory
    7. Click "Save". The required backup schedule is created

To schedule backup on a specific day every month,

    1. If your requirement is to backup the database contents on a specific date every month - say, on 13th, this option would come in handy. You can choose any date from 1st to 31st and also specify the time at which backup has to be taken. To enable this option,
    2. Click the radio button "Monthly"
    3. Select the date of the month
    4. Select the time at which backup has to be taken
    5. Backed up data are stored as a .zip file under <PMP_Home>/backUp directory by default. If you want, you can specify the destination directory where you wish to store the backedup contents.
    6. Everytime backup is executed, one backup file will be created. You can specify the maximum number of such backup files to be kept in this directory. For example, if you choose "10" in the drop-down against the field "Maintain latest --- backups only", only the latest 10 backup files would be kept under this directory
    7. Click "Save". The required backup schedule is created

©2014, ZOHO Corp. All Rights Reserved.

Top