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.