Mysql ou mysqldump? < ou > ? e restaurar como faz?
Complicado quando falamos em backup de mysql, pois o leque de opções que temos nos confunde em como fazer a coisa funcionar. Falar em mysql, tratamos de 90% dos servidores serem Linux, e para realizarmos algumas atuações é bem interessante que tenhamos conhecimento de comandos (pelo menos os mais básicos) de Linux.
Poucos entendem a sintaxe de um backup e menos ainda a diferença entre um backup e um restore. Para realizar um backup, temos as opções:
> mysqldump -uroot -p -database > arquivo_de_backup.bak
> password:
O comando mysqldump realiza um dump na base, criando um lock para que o backup seja executado com integridade.
os parâmetros -u indica o user responsável por criar o dump. -p a senha do mesmo (sua senha pode ser digitada a frente do -p, mas por questões de segurança, optamos por digita-la depois) e o sinal > indica que o arquivo recebera os dados daquele respectivo database.
para restore, podemos usar as opções de comando Mysql. Para restore, temos o seguinte comando:
>mysql -uroot -p database < arquivo_de_backup.bak
> password:
Existe também a opção ‘force’, que pode ser adicionada a linha de comando, como um -f, ou seja:
>mysql -uroot -p -f database < arquivo_de_backup
>password:
Existem diversos parâmetros para serem avaliados, por exemplo: backup de todas as bases utilize o parâmetro -A , ou seja, execute:
> mysqldump -uroot -p -A > arquivo_de_backup.bak
>password:
Para travar completamente enquanto o backup e feito e garantir que ninguém acesse e altere nada, utilize a opção -x. E se quiser, ao rodar o bakup já otimiza-lo combinando os comandos INSERT tornando o backup e o restore mais rápido, utilize a opção -e.
> mysqldump -uroot -p -x -e -A > arquivo_de_backup.bak
> password:
O ideal quando formos restaurar, é apagarmos a base antiga, e subir o backup full em cima dela. Mas vale lembrar que: um restore só pode ocorrer se a base existir. Então, caso realize o drop, recrie o database com o mesmo nome para poder restaurar o arquivo de backup !
São diversos parâmetros, tratei apenas alguns aqui (os que mais uso!). Há diversos sites que explicam mais comandos a serem usados.
Quando trabalhamos em ambientes mysql é bem interessante que se aprenda pelo menos um básico de Linux !
Espero que tenha ajudado!
Até mais! =)
Fechou todas
Olá boa noite.
Tenho o seguinte retorno quando tento restaurar uma tabela específica de uma base.
ERROR 1005 (HY000) at line 2: Can’t create table ‘./jetcontrol/balance.frm’ (errno: -1)
Situação: Tinha um tabela chamada “balances” que estava dando problemas. Removi os arquivos .ibd e .frm referente a tabela para tentar recriar a mesma através de um schema original da mesma tabela (o schema da tabela está com a estrutura perfeita).
O que pode ser este erro?
Fala Sanuel, tudo bom?
Como você está tentando recriar esta tabela? Consegue disponibilizar a sintaxe pra dar uma olhada?
E tem alguma FK ? Nesta tabela? Se sim envia o script dela também para que possa ajudar.
Abs.