Backups quentes com Percona XtraBackup no aplicativo WordPress com um clique

Índice

  • Introdução
  • Pré-requisitos
  • Etapa 1: criar um usuário do sistema não raiz
  • Etapa 2: verificar o mecanismo de armazenamento
  • Etapa 3: criar um usuário do banco de dados para backup
  • Etapa 4: Instale o Percona XtraBackup
  • Etapa 5: criar diretórios de armazenamento de backup
  • Etapa 6: criar o primeiro backup completo
  • Etapa 7: Crie os seguintes backups incrementais
  • Etapa 8: preparar arquivos de backup para restaurar o banco de dados
  • Etapa 9: restaurar o banco de dados
  • Passos adicionais

Introdução

O Percona XtraBackup é um programa gratuito baseado em MySQL usado para fazer backups quentes. Também é de código aberto. Com o Percona XtraBackup, você pode fazer backups quentes dos bancos de dados MySQL, MariaDB ou Percona Server sem interromper o serviço do banco de dados ou torná-lo somente leitura. Este é um recurso essencial para os negócios de muitos negócios online.

Para bancos de dados que usam os mecanismos de armazenamento InnoDB, XtraDB e HailDB, o Percona XtraBackup pode executar backups sem bloqueio. Para bancos de dados que usam os mecanismos de armazenamento MyISAM, Merge e Archive, o Percona XtraBackup também pode executar backups interrompendo brevemente as gravações no final do procedimento de backup.

Neste artigo, mostrarei como instalar e usar o Percona XtraBackup para executar backups completos completos e incrementais em um servidor Vultr baseado no aplicativo WordPress One-Click. Executaremos um backup completo e dois backups incrementais e, em seguida, restauraremos o banco de dados para o estado de cada um dos três backups.

Pré-requisitos

Suponho que você implantou uma instância do servidor One-Click WordPress Vultr do zero e fez login como root usando o SSH.

Etapa 1: criar um usuário do sistema não raiz

Por motivos de segurança, uma prática recomendada é criar outra conta de usuário com permissões de root e usá-la para efetuar login e executar suas operações diárias no sistema. Você ainda pode executar quase todos os comandos de superusuário com o sudocomando

1) Crie um novo usuário. Substitua sysuserpor seu próprio nome de usuário.

useradd sysuser

2) Defina a senha para o seu novo usuário. Substitua sysuserpor seu próprio nome de usuário.

passwd sysuser

3) Conceda permissões de root ao seu novo usuário.

visudo

Encontre o parágrafo abaixo.

## Allow root to run any commands anywhere
root     ALL=(ALL)     ALL

Adicione uma linha diretamente abaixo deste parágrafo e substitua sysuserpor seu próprio nome de usuário.

sysuser     ALL=(ALL)     ALL

Salve e saia.

:wq

4) Alterne para sua nova conta de usuário.

logout

Em seguida, use as credenciais do novo usuário para efetuar login na janela do seu terminal.

Etapa 2: verificar o mecanismo de armazenamento

Por padrão, o login raiz do MySQL é salvo no VPS em /root/.my.cnf. Exiba a senha no seu terminal com o seguinte comando.

sudo cat /root/.my.cnf

Use a credencial exibida na tela para efetuar login no console do MySQL.

mysql -u root -p

No shell do MySQL, execute o seguinte.

SHOW DATABASES;

Todos os bancos de dados MySQL serão exibidos na tela. O banco de dados nomeado como wp5273512é o banco de dados do WordPress que queremos fazer backup. No comando a seguir, substitua wp5273512pelo seu próprio:

USE wp5273512;

Verifique o mecanismo de armazenamento para cada tabela:

SHOW TABLE STATUS\G

Você verá que todas as tabelas em seu banco de dados MySQL do WordPress estão usando o mecanismo de armazenamento InnoDB, perfeito para executar backups quentes com o Percona XtraBackup.

Para qualquer outro banco de dados MySQL usando o mecanismo de armazenamento MyISAM, ainda podemos fazer backup deles com o Percona XtraBackup, interrompendo brevemente as gravações.

Etapa 3: criar um usuário do banco de dados para backup

Ainda no shell do MySQL, use os seguintes comandos para criar um usuário de banco de dados dedicado para backup. Lembre-se de substituir o nome de usuário xbusere a senha do banco de dados pelos xbpasswdseus:

CREATE USER 'xbuser'@'localhost' IDENTIFIED BY 'xbpasswd';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT, CREATE TABLESPACE, PROCESS, SUPER, CREATE, INSERT, SELECT ON *.* TO 'xbuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Os privilégios concedidos acima são necessários para a funcionalidade completa do Percona XtraBackup. Você pode remover alguns deles para menos funcionalidade e melhor segurança. Para mais detalhes, consulte o site oficial do Percona XtraBackup .

Etapa 4: Instale o Percona XtraBackup

Você pode instalar o Percona XtraBackup a partir do repositório RPM da Percona facilmente:

sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
sudo yum install -y percona-xtrabackup

Etapa 5: criar diretórios de armazenamento de backup

Primeiro, você precisa adicionar o usuário sysuserao mysqlgrupo. Substitua sysuserpor seu próprio nome de usuário.

sudo gpasswd -a sysuser mysql

Crie um diretório para armazenar backups completos.

sudo mkdir -p /dbbackup/full/

Crie outro diretório para armazenar backups incrementais.

sudo mkdir -p /dbbackup/inc/

Mude o proprietário desses diretórios para usuário sysusere grupo sysuser.

sudo chown -R sysuser:sysuser /dbbackup

Faça logout para efetivar essas alterações.

logout

Em seguida, efetue login sysusernovamente.

Etapa 6: criar o primeiro backup completo

O XtraBackup consiste principalmente no programa XtraBackup e no innobackupexscript perl. Geralmente, você pode usar o innobackupexscript perl para executar vários procedimentos operacionais por conveniência.

Digite o seguinte comando para criar o primeiro backup completo. Lembre-se de substituir o nome de usuário xbuserdo banco de dados , a senha do usuário do banco de dados xbpasswde o diretório de backup completo /dbbackup/full/pelos seus próprios.

sudo innobackupex --user=xbuser  --password=xbpasswd /dbbackup/full/

Com este comando executado corretamente, você verá a mensagem de confirmação "innobackupex: complete OK!" na última linha da saída.

Todos os arquivos recém-criados desse backup completo serão armazenados em um diretório com registro de data e hora em /dbbackup/full/. Por exemplo /dbbackup/full/2015-05-22_05-45-54,.

Etapa 7: Crie os seguintes backups incrementais

Digite o seguinte comando para criar o primeiro backup incremental. Substitua variáveis ​​no comando de acordo.

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/full/2015-05-22_05-45-54 /dbbackup/inc/

Mais uma vez, você verá "innobackupex: complete OK!" no final da saída quando o comando é executado com êxito. Os arquivos de backup serão armazenados em um diretório com registro de data e hora em /dbbackup/inc/.

Digite o seguinte comando para criar o segundo backup incremental. Substitua variáveis ​​no comando de acordo.

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/inc/2015-05-22_05-48-12 /dbbackup/inc/

Após o sucesso, você verá o "innobackupex: complete OK!" mensagem novamente. Verifique a /dbbackup/inc/pasta novamente para ver os arquivos de backup.

Etapa 8: preparar arquivos de backup para restaurar o banco de dados

Todos os arquivos de backup do banco de dados precisam ser preparados antes de poderem ser usados ​​para restaurar o banco de dados.

Nota : Antes de executar os procedimentos de preparação e restauração, é melhor manter uma cópia de todo o diretório de backup (como /dbbackup/) em outro local, caso algum dano ao backup dos arquivos seja causado por engano.

Em cada diretório de backup, há um arquivo nomeado xtrabackup_checkpointsque contém o tipo de backup e os números de sequência de log inicial e final ( from_lsne to_lsn). Você pode usar esses números para esclarecer sua estratégia de restauração do banco de dados. Veja os exemplos abaixo.

No xtrabackup_checkpointsarquivo do primeiro backup completo, tenho:

backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478

No xtrabackup_checkpointsarquivo do primeiro backup incremental, tenho:

backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177

No xtrabackup_checkpointsarquivo do segundo backup incremental, tenho:

backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672

Em resumo, você deve lidar com cada backup com a ordem crescente de lsn. Se a sequência lsn estiver incompleta ou desordenada, você poderá perder dados.

Nota : Os comandos a seguir envolvem três diretórios, substitua-os pelos seus próprios.

Para restaurar o banco de dados para o estado do primeiro backup completo, você precisa preparar os arquivos de backup com o seguinte comando:

sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

Para restaurar o banco de dados para o estado do primeiro backup incremental, você precisa preparar os arquivos de backup com os seguintes comandos:

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

Para restaurar o banco de dados para o estado do segundo backup incremental, você precisa preparar os arquivos de backup com os seguintes comandos:

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-51-32
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

Notas :

Para backups incrementais, você deve usar a --redo-onlyopção em todos, exceto no último backup incremental. No entanto, o uso dessa opção no último backup incremental ainda é inofensivo à consistência dos seus dados - apenas causará algum atraso devido à reversão do banco de dados.

O último comando de cada cenário incremental é opcional, mas recomendado, porque acelerará a restauração.

Após a preparação, as alterações registradas nos arquivos de backup incremental serão anexadas aos arquivos de backup completo base preparados; portanto, você sempre deve usar os arquivos de backup completo preparados para restaurar seu banco de dados, independentemente de escolher um backup completo ou um backup incremental.

Etapa 9: restaurar o banco de dados

Antes de poder restaurar seu banco de dados, é necessário parar o serviço de banco de dados.

sudo service mysqld stop

Você também precisa esvaziar o diretório do banco de dados. Você pode mover os arquivos de banco de dados atuais para outro local por precaução.

sudo mkdir /currentdb
sudo mv /var/lib/mysql/* /currentdb

Restaure seu banco de dados com os arquivos de "backup completo" preparados.

sudo innobackupex --copy-back /dbbackup/full/2015-05-22_05-45-54

Como o procedimento de restauração modifica o proprietário do diretório do banco de dados, é necessário alterá-lo novamente mysql:mysqlpara torná-lo operacional.

sudo chown -R mysql:mysql /var/lib/mysql

Reinicie o serviço de banco de dados.

sudo service mysqld start

É isso aí. Neste ponto, você pode visitar seu site WordPress para verificar se o processo de restauração foi bem-sucedido.



Leave a Comment

A IA pode lutar contra o aumento do número de ataques de ransomware

A IA pode lutar contra o aumento do número de ataques de ransomware

Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane

ReactOS: Este é o futuro do Windows?

ReactOS: Este é o futuro do Windows?

ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

Fique conectado por meio do aplicativo WhatsApp Desktop 24 * 7

O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+

Como a IA pode levar a automação de processos ao próximo nível?

Como a IA pode levar a automação de processos ao próximo nível?

Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

A atualização do suplemento do macOS Catalina 10.15.4 está causando mais problemas do que resolvendo

Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

13 Ferramentas de Extração de Dados Comerciais de Big Data

O que é um sistema de arquivos de registro no diário e como ele funciona?

O que é um sistema de arquivos de registro no diário e como ele funciona?

Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true

Singularidade tecnológica: um futuro distante da civilização humana?

Singularidade tecnológica: um futuro distante da civilização humana?

À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1

O impacto da inteligência artificial na saúde 2021

O impacto da inteligência artificial na saúde 2021

A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA ​​na área da saúde ainda está crescendo dia a dia.