Backup e Restore no MySQL por linha de comando

Backup e Restore no MySQL por linha de comando

Para realizar Backup de uma base de dados no MySQL por linha de comandos vamos utilizar uma ferramenta nativa do MySQL, chamada MySQL Dump.

O MySQL Dump pega todas as informações de um determinado banco de dados e efetua uma cópia no Sistema, de forma que possamos efetuar um restore em outro computador ou Banco de Dados facilmente.

Neste artigo estarei estarei abordando a pratica de Backup e Restore de um determinado Banco por meio de Linha de comando.

Ambiente

  • Sistema Operacional: Linux CentOS;
  • Usuário do Banco: dbuser;
  • Password do Usuário: 123456;
  • Nome do Banco: blog;
  • Diretório de Backup: /home/backupdb;

As informações acima estarei utilizando como base para que ter uma visão mais clara do comando, agora vamos executar o seguinte comando com o MySQL Dump

# mysqldump –opt –no-autocommit –single-transaction –routines -u dbuser –password=123456 blog > /home/backupdb/Backup-DB_blog.sql

Os itens em negritos simbolizam as informações que eu criei em meu ambiente de teste, após inserir o caminho coloque o nome do arquivo, neste caso coloquei “Backup-DB_blog.sql”, sempre que for gerar um Dump do Banco, lembre-se de colocar no nome do arquivo o “.sql” para que não ocorra problemas durante o Restore da base.

Para efetuar um restore da base, efetue o seguinte comando no Linux:

# cat /home/backupdb/Backup-DB_blog.sql | mysql -u dbuser –p blog

ou se preferir

# mysql.exe -u dbuser -p blog < /home/backupdb/Backup-DB_blog.sql

Abaixo eu criei um script em Shell básico para executar um Dump da base com data, basta alterar os dados e adicionar o script no Cron e definir a rotina do Backup.

 

#!/bin/bash
#Script de Backup SQL

# Formato da data
DATA=$(date +%d-%m-%Y-%a)

#Efetua um Dump da Base de Dados.
mysqldump –opt –no-autocommit –single-transaction –routines -u USUARIO –password=SENHA NOME_DO_BANCO > /CAMINHO/NOME_DO_ARQUIVO$DATA.sql

Share this post

Comments (3)

  • daniel Reply

    Como fazer uma rotina no Mysql quando o servidor é Windows? Já vi varios posts sobre o assunto mas não vi um que de fato depois de criado funcionasse, pois no dia seguinte que vou conferir o backup criado, vejo apenas o que criei quando fiz a rotina. Outra dúvida, tenho um servidor Windows 2008 e apartir dele, posso criar uma rotina para gerar um backup de um banco que estar em um servidor Linux? Tenho usado a ferramenta MySQL Administrator.

    Desde já agradeço sua atenção, aguardando retorno.

    21/05/2012 at 10:10
    • João Paulo de Andrade Reply

      Daniel, me desculpe pela demora em responder, estive um ocupado….
      Para realizar o Backup no Windows você pode utilizar o mesmo script, porem deve ser criado o arquivo.bat dentro da pasta bin do MySQL Server (no mesmo diretório do mysqldump.exe) e alterar o caminho de saída (Adicionando a unidade/diretório_do_backup), depois de ter feito isso só adicionar o Script no “Agendador de Tarefas” do Windows para que ele seja executado automaticamente.
      Nesta questão de Backup Remoto eu preciso olhar a documentação do MySQL, pois todos os Dump’s que eu crio são feitos localmente, vou verificar e te passo a informação.

      Me desculpe pela demora!

      13/06/2012 at 16:12
    • João Paulo de Andrade Reply

      Daniel, usa o MySQL Workbench, que ele irá lhe ajudar com o MySQL no Windows.

      29/10/2012 at 11:59

Leave a comment

Your email address will not be published.


*