====== Backup And Restore A Database ======
**General Information**
Backing up and restoring a database.
----
====== Lab Setup ======
The following virtual machines will be used:
* server2.example.com (192.168.1.151) -> Database here
**Previous Sections Completed**
* [[linux_wiki:install_and_configure_mariadb|Install and Configure MariaDB]]
* [[linux_wiki:create_a_simple_database_schema|Create a Simple Database Schema]]
* [[linux_wiki:perform_simple_sql_queries_against_a_database|Perform Simple SQL Queries Against a Database]]
----
====== Backup ======
**Documentation**
man mysqldump
\\
Backup 1 specific database: Run the MySQL Dump utility to backup tables within a database
mysqldump -u root -p emails > /backup/emails_backup.sql
* Builds SQL commands that will create the tables from scratch
\\
Backup multiple databases
mysqldump -u root -p --databases emails mysql > /backup/emails_mysql_backup.sql
* --databases -> flag to backup multiple databases at once
\\
Backup all databases
mysqldump -u root -p --all-databases > /backup/all_dbs.sql
----
====== Restore ======
Restore 1 specific database's tables: Re-create database if it does not exist, then restore the tables
mysql -u root -p
MariaDB [(none)]> CREATE DATABASE emails;
MariaDB [(none)]> quit
mysql -u root -p emails < /backup/emails_backup.sql
----