Como Restaurar Backups do MySQL de forma mais rápida

restaurar Backups do MySQL de forma mais rápida

Bom aqui vamos tratar de Como Restaurar Backups do MySQL de forma mais rápida e para isso usaremos o mydump e o myloader.

Qual é a vantagem de usar esse cara ao invés do mysqldump? Vamos pontuar abaixo alguns itens:

  • Usar mais processadores na hora de fazer um dump ou restaura-lo.
  • Se uma tabela for muito grande, você pode quebra-la definindo um número de linha máximo, assim você tem mais processos fazendo dump da mesma tabela.
  • Poder usar parametros como –no-locks –routines –events que são nativos do mysqldump e fazem um backup mais rapido e consistente.
  • Poder restaurar várias tabelas ao mesmo tempo.
  • Ter a estrutura das tabelas separada dos dados no arquivos.

Bom, acima de tudo, o mydump e o myloader dão velocidade para todo o processo.

Vamos para a prática?

Instalando o Mydump e o Myloader

Aqui vamos utilizar o Centos7, porém você pode encontrar AQUI versões para Debian/Ubuntu e o Source Code.

Primeiramente vamos baixar o RPM para instalação:

mkdir /downloads
cd /downloads
wget https://github.com/maxbube/mydumper/releases/download/v0.9.5/mydumper-0.9.5-2.el7.x86_64.rpm
yum install mydumper-0.9.5-2.el7.x86_64.rpm

Efetuando um Dump com o comando Mydump

Para efetuar um backup vamos utilizar o comando mydump, eu recomendo fazer da forma abaixo e vou explicar aqui cada uma das opções:

mydumper -t 4 -B coffops_blog -h databese01.coffops -u coffops -p coffopspassword --build-empty-files --triggers --events --routines --no-locks --rows=5000000 --outputdir=/backups/coffops_blog/ 2>> /var/log/backup/backup_coffops_blog.log

Então vamos explorar os parâmetros:

  • -t são quantas threads seu servidor vai usar, sendo assim quando mais processadores no seu servidor, melhor!
  • -B é o nome da base que vai ser feito o dump.
  • -h é o host em que o mydump vai se conectar, se for local basta colocar localhost.
  • -u é o usuário que tem privilégios de acesso a base.
  • -p é o senha para acesso a base ou você pode usar –ask-password para digitar o password na linha de comando.
  • –build-empty-files se não houver nenhum dado para fazer dump, ele vai criar um arquivo vazio.
  • –triggers faz o dump da triggers.
  • –events faz o dump dos eventos.
  • –routines faz o dump das rotinas.
  • –no-locks não dá lock na tabela.
  • –rows número máximo de linha por processo. (Esse é o melhor parâmetro, pois se uma tabela tem 10000000 linhas vão ser dois processos de dump, reduzindo o tempo pela metade.)
  • –outputdir pasta onde será colocado todos os arquivos do dump

Além disso você também pode explorar:

  • –compress para compactar os arquivos gerados pelo dump de forma automática.
  • –compress-protocol para compactar a conexão do MySQL.
  • –lock-all-tables se por algum motivo você quiser dar travar a inserção de dados na tabela.

Enfim, recomendo fortemente, como qualquer comando no Linux, ir no terminal e dar um mydump –help ou man mydump e explorar as possibilidades.

Efetuando um Restore com o comando Myloader

Para efetuar um restore seguimos o padrão abaixo:

myloader -t 4 --directory=/backups/coffops_blog/ --database=coffops_blogs -h databese01.coffops -u coffops -p coffopspassword

Dessa forma o sistema vai usar cores para conseguir fazer um restore usando 4 threads, deixando seu restore no mínimo 4 vezes mais rápido.

Assim como o mydump, o myloader também tem um manual e recomendo fortemente explorar as possibilidades.

Aumentando ainda mais o desempenho

Caso você precise de velocidade, é possível incrementar o boffer_pool_size dentro do arquivo /etc/my.cf.

Esse esse parâmetro diz basicamente o tamanho do pool que o MySQL vai usar para trabalhar com os dados em memória. Todavia quanto mais memória seu servidor tem, mais rápido os dumps e restores. Se for uma máquina escalável, você pode colocar bastante memória somente para fazer o dump ou o restore e logo depois reduzir o recurso por exemplo.

Enfim, espero que esse post ajude você a Como Restaurar Backups do MySQL de forma mais rápida.

Você pode gostar também: 5 Dicas úteis de Configuração do Nginx

3 thoughts on “Como Restaurar Backups do MySQL de forma mais rápida

Deixe um comentário

O seu endereço de e-mail não será publicado.