Fazendo backups periódicos de um banco de dados MySQL

4

Eu preciso saber como posso fazer backup dos meus bancos de dados MySQL periodicamente e ter os backups baixados para o meu servidor local. Eu estou usando o navicat e tem uma facilidade de interface de backup e facilidade de agendamento de tarefas, mas faz o backup do banco de dados e armazena o backup no próprio servidor. Eu gostaria de ter uma maneira de fazer o download dos backups, uma vez feitos no meu sistema local, em vez de tê-los no mesmo servidor que o banco de dados.

    
por Ali 08.06.2009 / 09:58

6 respostas

3

Como os outros notaram - você precisará instalar algum software na máquina do MySQL para fazer estes backups. Navicat é apenas um cliente - ele não pode executar um backup agendado no servidor.

Existem muitos softwares por aí que podem fazer isso para você - alguns deles fazem backup diretamente do banco de dados MySQL.

A solução gratuita é "fazer o seu próprio backup de banco de dados". Isso depende muito do seu sistema operacional.

Linux - crie um shell script para fazer mysqldump no banco de dados que você deseja fazer backup, e então envie este backup para seu PC doméstico via scp, ftp ou e-mail (se você não tiver a infraestrutura ssh e ftp em casa ).

Windows - crie uma tarefa agendada para fazer o backup do banco de dados mysql em um diretório compartilhado ou configure um script de linha de comando para fazer o backup do banco de dados e enviar por e-mail, ftp ou scp para o seu PC local.

Se você tem o PHP instalado no servidor, você pode usar as seguintes instruções para qualquer sistema operacional:

link

Existem muitas maneiras de esfolar esse gato!

    
por 08.06.2009 / 15:23
5

Movimento inteligente - se você tiver um servidor linux local, ssh / scp, chaves compartilhadas e mysqldump são um caminho óbvio a seguir.

Mesmo que o seu servidor de backup local seja uma caixa do Windows, não deve ser muito difícil.

Se os backups já foram feitos no servidor (?), então tudo que você precisa é scp-los off nightly, a menos que eles sejam enormes e você está olhando para fazer backups diferenciais, que é um pouco mais difícil com o SQL. / p>     

por 08.06.2009 / 10:23
3

Eu configurei um servidor rsync em um host remoto.

Se for uma rede interna, o rsync simples com uma opção de senha deve ser suficiente

Se ele passar por um link público, vá pelo ssh (com autenticação de chave pública) ou pelo OpenVPN com o servidor rsync remoto ouvindo apenas IPs seguros

    
por 08.06.2009 / 10:24
3

Se você puder, você pode instalar o backupninja . Ele será enviado e poderá enviá-lo para outro host via rsync, scp e ftp .. Ele também irá enviar relatórios de e-mail detalhados.

    
por 08.06.2009 / 11:12
2

Você também pode executar backups usando o comando mysqldump localmente e canalizando a saída para um arquivo. Não é uma cópia binária verdadeira dos dados, mas é uma cópia de todos os dados da tabela.

    
por 08.06.2009 / 16:38
2

Eu tenho um cron job que despeja os bancos de dados com mysqldump em um diretório que é submetido a backup pelo TSM. Se você já tem um bom sistema de backup de rede, eu diria que de alguma forma.

Se não, eu usaria o rsync + mysqldump. Você pode configurar o mysqldump para fazer o dump para um diretório e então executar o rsync para mover o dump para o outro servidor.

    
por 08.06.2009 / 17:37

Tags