MariaDB - Métodos de backup

Os dados servem como base para negócios e operações e, com várias ameaças possíveis (por exemplo, invasores, falhas de sistema, atualizações ruins e erros de manutenção), os backups permanecem essenciais. Esses backups assumem muitas formas e existem muitas opções para criá-los com um conjunto ainda mais amplo de opções dentro desses processos. As coisas importantes a lembrar são o tipo de banco de dados, as informações críticas e a estrutura envolvida. Essas informações determinam sua melhor opção.

OPÇÕES

As principais opções de backups incluem backups lógicos e backups físicos. Os backups lógicos contêm instruções SQL para restaurar dados. Os backups físicos contêm cópias dos dados.

  • Logical backupsoferecem a flexibilidade de restaurar dados em outra máquina com uma configuração diferente em contraste com backups físicos, que geralmente são limitados à mesma máquina e tipo de banco de dados. Os backups lógicos ocorrem no nível do banco de dados e da tabela, e os físicos ocorrem no nível do diretório e do arquivo.

  • Physical backupssão menores em tamanho do que o lógico e também levam menos tempo para serem executados e restaurados. Os backups físicos também incluem arquivos de log e configuração, mas os backups lógicos não.

Ferramentas de backup

A principal ferramenta usada para backups MariaDB é mysqldump. Ele oferece backups lógicos e flexibilidade. Também se mostra uma excelente opção para pequenos bancos de dados.Mysqldumpdespeja dados em SQL, CSV, XML e muitos outros formatos. Sua saída não retém procedimentos armazenados, visualizações e eventos sem instrução explícita.

Existem três opções para mysqldump backups -

  • Raw data - Despejar uma tabela como um arquivo de dados brutos por meio da opção --tab, que também especifica o destino do arquivo -

$ mysqldump -u root -p --no-create-info \
   --tab=/tmp PRODUCTS products_tbl
  • Data/Definitions export- Esta opção permite que uma única ou várias tabelas sejam exportadas para um arquivo e oferece suporte ao backup de todos os bancos de dados existentes na máquina host. Examine um exemplo de exportação de conteúdo ou definições para um arquivo

$ mysqldump -u root -p PRODUCTS products_tbl > export_file.txt
  • Transfer - Você também pode enviar bancos de dados e tabelas para outro host

$ mysqldump -u root -p database_name \
   | mysql -h other-host.com database_name

Usando a instrução SELECT ... INTO OUTFILE

Outra opção para exportar dados emprega a instrução SELECT ... INTO OUTFILE. Esta opção simples produz a tabela em um arquivo de texto formatado simples -

mysql> SELECT * FROM products_tbl
   -> INTO OUTFILE '/tmp/products.txt';

Seus atributos permitem formatar o arquivo de acordo com suas especificações preferidas.

Observe as seguintes qualidades desta declaração -

  • O nome do arquivo deve especificar o local desejado para a saída.

  • Você precisa de privilégios de arquivo MariaDB para executar a instrução.

  • O nome do arquivo de saída deve ser exclusivo.

  • Você precisa de credenciais de login no host.

  • Em um ambiente UNIX, o arquivo de saída pode ser lido por todos, mas a propriedade do servidor afeta sua capacidade de excluí-lo. Certifique-se de ter privilégios.

Usando CONNECT em backups

O manipulador CONNECT permite a exportação de dados. Isso é útil principalmente em situações em que a operação SELECT ... INTO OUTFILE não suporta o formato de arquivo.

Reveja o seguinte exemplo -

create table products
engine = CONNECT table_type = XML file_name = 'products.htm' header = yes
option_list = 'name = TABLE,coltype = HTML,attribute = border = 1;cellpadding = 5'

select plugin_name handler, plugin_version version, plugin_author
author, plugin_description description, plugin_maturity maturity
from information_schema.plugins where plugin_type = 'STORAGE ENGINE';

Outras Ferramentas

Outras opções para backups são as seguintes -

  • XtraBackup- Esta opção visa bancos de dados XtraDB / InnoDB e funciona com qualquer mecanismo de armazenamento. Saiba mais sobre esta ferramenta no site oficial da Percona.

  • Snapshots- Alguns sistemas de arquivos permitem instantâneos. O processo consiste em liberar as tabelas com bloqueio de leitura, montar o instantâneo, desbloquear as tabelas, copiar o instantâneo e, em seguida, desmontar o instantâneo.

  • LVM- Este método popular emprega um script Perl. Ele obtém um bloqueio de leitura em cada tabela e libera caches para o disco. Em seguida, ele obtém um instantâneo e desbloqueia as tabelas. Consulte o oficialmylvmbackup site para mais informações.

  • TokuBackup- Esta solução fornecida pela Percona fornece backups dinâmicos levando em consideração os problemas e limitações das opções de backup do InnoDB. Ele produz uma cópia de som transacional dos arquivos enquanto os aplicativos continuam a manipulá-los. Consulte o site da Percona para obter mais informações.

Considerações INNODB

InnoDB usa um pool de buffer para aprimoramento de desempenho. Em um backup, configure o InnoDB para evitar a cópia de uma tabela inteira no buffer pool porque backups lógicos normalmente executam varreduras completas de tabela.