Backup e Restore MySQL

O principal objetivo de um backup é a cópia de dados para posterior restauração em caso de perda, alteração não autorizada ou dano a algum tipo de arquivo ou sistema digital. Para backup das bases de dados os mesmos principios se aplicam. Para backups de base de dados MySQL/MariaDB existe o utilitário mysqldump, o mysqldump efetua backups lógicos reproduzindo exatamente o estado dos SQL que foram utilizados para criação do banco de dados, sua estrutura, tabelas e etc.

Para efetuar o backup do banco de nome sakila:

[root@centos7 ~]# mysqldump -u root -p sakila > bkp_sakila.sql 

Também podemos efetuar backup de mais de uma base:

[root@centos7 ~]# mysqldump -u root -p --databases mysql sakila > mysql_sakila.sql 

Para exportar todos os bancos executamos o seguinte comando:

[root@centos7 ~]# mysqldump -u root -p --all-databases > all_databases.sql 

Primeiro precisamos criar o banco:

MariaDB [(none)]> create database sakila; 
Query OK, 1 row affected (0.00 sec)

E efetuamos o restore com o comando:

[root@centos7 ~]# mysql -u root -p sakila < bkp_sakila.sql 

Também podemos efetuar o restore através do prompt do banco digitando o path do backup:


MariaDB [(none)]> source /root/bkp_sakila.sql

Com o mysqldump também é possível efetuar backups e restores remotos para outros servidores. Para efetuar esse procedimento primeiro temos que nos certificar que temos permissão no banco remoto do host (notebook) para qual desejamos enviar o backup:

MariaDB [(none)]> grant all privileges on *.* to 'root'@'notebook' identified by '123456' with grant option; 
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

Criamos o banco:

MariaDB [(none)]> create database sakila_prod;

E da máquina cliente efetuamos o seguinte comando:

[root@centos7 ~]# mysqldump -u root -pteste333 sakila | mysql -u root -p123456 --host=notebook -C sakila_prod 

O mysqldump vai efetuar o backup do banco sakila e irá enviá-lo para o host notebook efetuando o restore na base sakila_prod.

Referência:
https://dev.mysql.com/doc/refman/5.7/en/mysqldump.html