Backup MySQL com SSH

Publicado por Anderson Cristian Loyola da Silva em 03/07/2006

[ Hits: 10.386 ]

Blog: http://www.andersonloyola.com.br

 


Backup MySQL com SSH



Primeiramente, você vai ter que seguir um desses artigos, para deixar o SSH sem senha:
$ ssh [email protected] -p 5522 \
   "mysqldump -u usuario -psenha -h localhost baseonline" |
   mysql -u usuario -psenha -h localhost baselocal


Após isso, é só usar o comando acima. Explicarei-o a seguir.

Antes do pipe, em ssh [email protected] -p 5522 "mysqldump -u usuario -psenha -h localhost baseonline", está sendo executado o mysqldump diretamente no servidor e dando o retorno para a sua máquina local. Este retorno é passado para o MySQL da máquina local com o comando mysql -u usuario -psenha -h localhost baselocal, depois do pipe. Dessa forma, o MySQL executa o retorno e copia a base perfeitamente.

Antes de executar esse comando, você vai ter que criar a base na sua máquina local. Exemplo:

Servidor Online
  • HostOnline: rootbrasil.com.br
  • BaseOnline: baseroot

Servidor Local
  • HostLocal: localhost
  • BaseLocal: teste

$ echo "create database teste" |
  mysql -u mysql -p*** -h localhost
$ ssh [email protected] -p 5522 \
   "mysqldump -u rootbrasil -p*** -h localhost baseroot" |
   mysql -u mysql -p*** -h localhost teste


Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

openSUSE Leap 42.1 - 6 dicas de pós-instalação

Os poderes da super vaca

Imprimindo arquivo como PDF

Instalando extensões no MediaWiki usando o Git

League of Legends no Ubuntu - Instalação

  

Comentários
[1] Comentário enviado por _m4n14c_ em 03/07/2006 - 22:04h

uma sugestao eh usar a opcao -C no ssh, pois a saida do mysql dump eh texto ascii, e esta opcao habilita a compressao com o gzip, economizando banda.. ficaria assim:

$ ssh [email protected] -C -p 5522 "mysqldump -u usuario -psenha -h localhost baseonline" | mysql -u usuario -psenha -h localhost baselocal

outra ideia, se tiver um pouco mais de folga de processamento e aperto de banda, eh usar o bzip2:

$ ssh [email protected] -p 5522 "mysqldump -u usuario -psenha -h localhost baseonline | bzip2" | bunzip2 | mysql -u usuario -psenha -h localhost baselocal

[2] Comentário enviado por betofortal em 14/10/2008 - 09:57h

Me desculpem se falei alguam besteira mas deixar o ssh sem senha não deixa um furo (ou melhor, um grande buraco) na segurança não???

O tutorial é muito bom. Só este lance do ssh sem senha que me preocupa. Alguem pode opinar?

Parabens pelo tuto!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts