Overview
This article describes how to manually backup and restore the databases in Nagios xi.
This article is an advanced topic that can result in data loss if not followed correctly.
If you are looking for an easy backup and restore method please read this article:
Documentation - Backing Up And Restoring Your Nagios xi System
Backup
MySQL / MariaDB Databases
nagios database (ndo2db)
mysqldump -uroot -pnagiosxi --add-drop-database nagios > /tmp/nagios_export.sql
nagiosql database (Core Configuration Manager)
mysqldump -uroot -pnagiosxi --add-drop-database nagiosql > /tmp/nagiosql_export.sql
nagiosxi database (xi program and user preferences)
Note: This is only applicable for fresh installs of xi 5.x onwards. If you upgraded to xi 5.x from a previous version please refer to the PostgreSQL steps below.
mysqldump -uroot -pnagiosxi --add-drop-database nagiosxi > /tmp/nagiosxi_export.sql
PostgreSQL Database
Note: This is only applicable for versions of xi before 5.x OR if you upgraded to xi 5.x from a previous version. Fresh installs of xi 5.x onwards do not use PostgreSQL
pg_dump -c -U nagiosxi nagiosxi > /tmp/nagiosxi_export.sql
Restore
MySQL / MariaDB Databases
nagios database (ndo2db)
mysql -uroot -pnagiosxi nagios < /tmp/nagios_export.sql
nagiosql database (Core Configuration Manager)
mysql -uroot -pnagiosxi nagiosql < /tmp/nagiosql_export.sql
nagiosxi database (xi program and user preferences)
Note: This is only applicable for fresh installs of xi 5.x onwards. If you upgraded to xi 5.x from a previous version please refer to the PostgreSQL steps below.
mysql -uroot -pnagiosxi nagiosxi < /tmp/nagiosxi_export.sql
PostgreSQL Database
Note: This is only applicable for versions of xi before 5.x OR if you upgraded to xi 5.x from a previous version. Fresh installs of xi 5.x onwards do not use PostgreSQL
psql nagiosxi nagiosxi < /tmp/nagiosxi_export.sql
This command will generate a lot of output.
Emergency Restore
In certain circumstances you have have a corrupt database and do not have a complete backup using our standard backup procedure. Fortunately the databases themselves are backed up regularly and these can be used to perform the restore. These backups are stored in the /store/backups/ directory.
MySQL / MariaDB Databases
nagios database (ndo2db)
cd /tmp
cp /store/backups/mysql/daily/nagios/nagios_2016-03-27_07h00m.Sunday.sql.gz /tmp/
gunzip nagios_2016-03-27_07h00m.Sunday.sql.gz
mysql -uroot -pnagiosxi nagios < /tmp/nagios_2016-03-27_07h00m.Sunday.sql
nagiosql database (Core Configuration Manager)
cd /tmp
cp /store/backups/mysql/daily/nagiosql/nagiosql_2016-03-27_07h00m.Sunday.sql.gz /tmp/
gunzip nagiosql_2016-03-27_07h00m.Sunday.sql.gz
mysql -uroot -pnagiosxi nagiosql < /tmp/nagiosql_2016-03-27_07h00m.Sunday.sql
nagiosxi database (xi program and user preferences)
Note: This is only applicable for fresh installs of xi 5.x onwards. If you upgraded to xi 5.x from a previous version please refer to the PostgreSQL steps below.
cd /tmp
cp /store/backups/mysql/daily/nagiosxi/nagiosxi_2016-03-27_07h00m.Sunday.sql.gz /tmp/
gunzip nagiosxi_2016-03-27_07h00m.Sunday.sql.gz
mysql -uroot -pnagiosxi nagiosxi < /tmp/nagiosxi_2016-03-27_07h00m.Sunday.sql
PostgreSQL Database
Note: This is only applicable for versions of xi before 5.x OR if you upgraded to xi 5.x from a previous version. Fresh installs of xi 5.x onwards do not use PostgreSQL
cd /tmp
cp /store/backups/postgresql/daily/postgres/postgres_2016-03-27.Sunday.sql.gz /tmp/
gunzip postgres_2016-03-27.Sunday.sql.gz
psql nagiosxi nagiosxi < /tmp/postgres_2016-03-27.Sunday.sql
This command will generate a lot of output.
Final Thoughts
For any support related questions please visit the Nagios Support Forums at: