Backup e Restore no MySQL por linha de comando
By João Paulo de Andrade On 24 Jun, 2011 At 03:00 AM | Categorized As Ambiente Linux, MySQL Server | With 2 Comments

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

About - João Paulo de Andrade, trabalha atualmente como Administrador de Redes no Grupo Santa Cruz, especialista em servidores Windows e Linux, Banco de Dados, Gestão da Tecnologia da Informação e Segurança da Informação. Pós Graduado em Gerenciamento e Segurança em Redes de Computadores pela Faculdade Politécnica de Campinas (POLICAMP) e Game Master nas horas vagas!

Displaying 3 Comments
Have Your Say
  1. daniel says:

    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.

    • 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!

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

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


*