Como 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
Pingback: Como Comprimir Arquivos do Linux de Forma rápida. - Coffops
Pingback: Alterar Permissão de Usuário no MySQL - Coffops
Pingback: Como usar o mysqldump para backup e restore - Coffops