Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Crie backups físicos de seus bancos de dados MariaDB ou MySQL


Enquanto o mysqldump tool é o método de backup preferido para um banco de dados ou sistema de banco de dados MariaDB ou MySQL. Ela só funciona quando o servidor de banco de dados está acessível e em execução. Se o banco de dados não puder ser iniciado ou o sistema host estiver inacessível, o banco de dados ainda poderá ser copiado diretamente.

Um backup físico muitas vezes é necessário em situações em que você só tem acesso a um ambiente de recuperação (como o Finnix) onde você monta os discos do seu sistema como dispositivos de armazenamento externos. Se você quiser ler sobre backups lógicos usando mysqldump , consulte o nosso guia sobre o tema.

Para simplificar, o nome MySQL será usado ao longo deste guia, mas as instruções funcionarão para MySQL e MariaDB.
Observação As etapas neste guia requerem privilégios de root. Faça login como usuário root com su - antes de começar.

Criar um backup


  1. Se você não estiver executando no modo de recuperação (uma sessão do Finnix), pare o mysql serviço:
    systemctl stop mysql
    

  2. Localize seu diretório de banco de dados. Deve ser /var/lib/mysql/ na maioria dos sistemas, mas se esse diretório não existir, examine /etc/mysql/my.cnf para um caminho para o diretório de dados.

  3. Crie um diretório para armazenar seus backups. Este guia usará /opt/db-backups mas você pode alterar isso para atender às suas necessidades:
    mkdir /opt/db-backups
    

  4. Copie o diretório de dados do MySQL para um local de armazenamento. O cp comando, rsync , ou outros métodos funcionarão bem, mas usaremos tar para copiar e compactar recursivamente o backup de uma só vez. Altere o diretório do banco de dados, o nome do arquivo de backup e o diretório de destino conforme necessário; o -$(date +%F) adição ao comando irá inserir um carimbo de data/hora no nome do arquivo.
    tar cfvz /opt/db-backups/db-$(date +%F).tar.gz /var/lib/mysql/*
    

  5. Reinicie o serviço MySQL:
    systemctl restart mysql
    

Restaurar um backup


  1. Altere seu diretório de trabalho para um local onde você possa extrair o tarball criado acima. O diretório inicial do usuário atual é usado neste exemplo:
    cd
    

  2. Pare o mysql serviço:
    systemctl stop mysql
    

  3. Extraia o tarball para o diretório de trabalho. Altere o nome do arquivo do tarball no comando para aquele com a data que você deseja restaurar.
     tar zxvf /opt/db-backups/db-archive.tar.gz -C .
    

  4. Mova o conteúdo atual de /var/lib/mysql para outro local se você quiser mantê-los por qualquer motivo ou excluí-los completamente. Crie um novo mysql vazio pasta para restaurar seu DMBS de backup.
    mv /var/lib/mysql /var/lib/mysql-old
    mkdir /var/lib/mysql
    

  5. Copie o sistema de banco de dados com backup para a pasta vazia:
    mv ~/var/lib/mysql/* /var/lib/mysql
    

  6. Defina as permissões adequadas para os arquivos que você acabou de restaurar:
    chown -R mysql:mysql /var/lib/mysql
    

  7. Reinicie o serviço MySQL:
    systemctl restart mysql
    

Mais informações


Você pode querer consultar os seguintes recursos para obter informações adicionais sobre este tópico. Embora estes sejam fornecidos na esperança de que sejam úteis, observe que não podemos garantir a precisão ou pontualidade dos materiais hospedados externamente.
  • Visão geral de backup e restauração; Biblioteca MariaDB
  • Métodos de backup de banco de dados; Manual de referência do MySQL