Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Restaurar um backup físico do RDS MySQL para um banco de dados auto-gerenciado

Última atualização: Aug 26, 2026

Use o Percona XtraBackup para restaurar um backup físico do ApsaraDB RDS for MySQL em um banco de dados MySQL auto-gerenciado.

Contexto

O ApsaraDB RDS for MySQL permite restaurar backups de instâncias em um banco de dados auto-gerenciado. Há diversos métodos de restauração de dados disponíveis, como a restauração a partir de um backup físico ou lógico. Para obter mais informações sobre como escolher o método adequado, consulte MySQL data restoration methods.

Para verificar o tipo de backup de uma instância, acesse o console do ApsaraDB RDS. No painel de navegação à esquerda, acesse Backup and Restoration > Base Backups > Data Backup.

Nota

Caso não existam backups físicos, crie primeiro um backup manual. Para instruções detalhadas, consulte Manual backup.

Cenários

Restaure um backup físico da sua instância RDS for MySQL para um banco de dados auto-gerenciado quando não precisar mais da instância por um longo período ou se ela já tiver sido liberada, mas o arquivo de backup físico ainda estiver disponível.

Pré-requisitos

  • Sua instância RDS MySQL deve atender aos seguintes requisitos:

    • Versão principal: 8,0, 5,7, 5,6 ou 5,5

    • Edição: High-availability Edition

    • Tipo de armazenamento: Premium Local SSDs

    Nota
    • Essas informações estão disponíveis na página Basic Information da sua instância.

    • O download de arquivos de backup físico só é possível para instâncias que atendem aos requisitos acima. Se sua instância for da Basic Edition, consulte as Perguntas frequentes neste tópico.

  • As tabelas da sua instância RDS não podem estar criptografadas com TDE.

    Importante
    • Tabelas criptografadas podem causar erros durante a restauração. Execute uma operação de descriptografia antes de prosseguir.

    • Verifique o status do TDE na página Data Security > TDE da instância no console do RDS.

  • Seu usuário RAM precisa ter permissão para baixar arquivos de backup. Para instruções, consulte Authorize a RAM user with read-only permissions to download backup files.

Limitações

Impactos

  • Ao restaurar um backup físico do RDS MySQL em um banco de dados auto-gerenciado que também executa outros services, esses services ficarão indisponíveis.

  • Este método de restauração grava os dados no diretório de dados de um novo banco de dados e mantém os dados originais do seu banco de dados auto-gerenciado inalterados.

Como funciona

A restauração de um backup físico envolve as seguintes etapas:

  1. Faça um backup físico completo do banco de dados.

  2. Baixe o arquivo de backup físico para um dispositivo local e descompacte-o com a ferramenta qpress.

  3. Use o Percona XtraBackup para restaurar os arquivos de backup descompactados no diretório de dados do seu banco de dados auto-gerenciado.

  4. Reinicie o banco de dados. Em seguida, visualize os dados originais do RDS MySQL no seu banco de dados auto-gerenciado.

Observações

  • A url de download do backup tem validade de uma hora. Se a url expirar, atualize a página para obter uma nova.

  • Não modifique nem exclua o conteúdo do arquivo de backup. Caso contrário, o arquivo pode ser corrompido e tornar-se irrecuperável. Se precisar modificar os dados, restaure o backup em um banco de dados auto-gerenciado primeiro.

Faturamento

  • Ao criar backups manuais, monitore o uso do armazenamento de backup. O armazenamento que exceder a cota gratuita gera taxas de backup.

  • Se o seu banco de dados auto-gerenciado estiver on-premises, o download dos dados de backup ocorrerá pela Internet. Haverá cobrança de taxas de tráfego de Internet caso o tráfego de download exceda a cota gratuita.

    Nota

    Se o banco de dados auto-gerenciado estiver em uma instância ECS na mesma região e vpc da instância RDS, o download dos dados de backup via endereço interno não gera taxas de tráfego.

Antes de começar

Configuração do ambiente

  1. Os comandos neste tópico destinam-se ao CentOS 7.9 64-bit. Adapte-os caso utilize uma distribuição Linux diferente.

  2. Implante um banco de dados MySQL auto-gerenciado. A versão principal do mecanismo deve corresponder à da sua instância RDS MySQL. Por exemplo, ambas podem ser MySQL 8,0.

    Execute o comando abaixo para verificar a versão principal do mecanismo do seu banco de dados MySQL auto-gerenciado:

    mysql --version
  3. Localize o caminho do arquivo de configuração do seu banco de dados MySQL auto-gerenciado.

    Este tópico utiliza os seguintes caminhos de exemplo:

    • O caminho é /etc/my.cnf para MySQL 8,0 e 5,7.

    • O caminho é /usr/my.cnf para MySQL 5,6.

    • Para MySQL 5,5, crie o arquivo executando o comando echo "[mysqld]" | sudo tee /etc/my.cnf.

    Execute o comando a seguir para localizar o caminho do arquivo de configuração do seu banco de dados MySQL auto-gerenciado.

    sudo find / -name my.cnf
    Nota

    Se o comando retornar um caminho diferente, utilize esse caminho nos comandos subsequentes.

  4. Crie um diretório de descompactação de backup, como mysql_bkdata, para armazenar os arquivos de backup descompactados.

    Execute os comandos abaixo para criar o diretório de descompactação de backup:

    sudo mkdir /var/mysql_bkdata
    sudo chown -R $USER:$USER /var/mysql_bkdata
    Nota

    O parâmetro $USER:$USER utiliza uma variável de ambiente para obter o usuário e o grupo de usuários atuais. Não é necessário alterá-lo.

  5. Crie um diretório de dados, como mysql_newdata. Este diretório armazena os arquivos de backup restaurados que o banco de dados utilizará na inicialização.

    Execute os comandos a seguir para criar o diretório de dados:

    sudo mkdir /var/mysql_newdata
    sudo chown -R $USER:$USER /var/mysql_newdata
    Nota

    O parâmetro $USER:$USER no comando anterior utiliza uma variável de ambiente para obter o usuário e o grupo de usuários atuais. Não é necessário alterá-lo.

Ferramentas

  1. Instale a ferramenta de backup e restauração Percona XtraBackup.

    MySQL 8.0

    Para uma instância MySQL 8.0, baixe a versão correta da ferramenta XtraBackup para o seu ambiente host, faça o upload para o servidor e instale-a. Se precisar enviar o arquivo para uma instância ECS, consulte Upload or download files.

    Importante

    O RDS MySQL 8.0 introduziu novos tipos de redo log, o que pode causar problemas de compatibilidade com a versão open source do Percona XtraBackup. Portanto, baixe a ferramenta XtraBackup fornecida pelo RDS na tabela abaixo.

    Ambiente host

    Download

    Comando de instalação

    Nota

    Este exemplo pressupõe que a ferramenta esteja no diretório /Xtrabackup8.0. Ajuste o comando conforme o local real do download.

    Linux 6 (x86_64)

    Download da ferramenta RDS XtraBackup 8.0

    sudo yum localinstall -y /XtraBackup8.0/t-rds-xtrabackup-80-8.0.31-20230817110455.alios6.x86_64

    Linux 7 (x86_64)

    Download da ferramenta RDS XtraBackup 8.0

    sudo yum localinstall -y /XtraBackup8.0/t-rds-xtrabackup-80-8.0.31-20230817110455.alios7.x86_64.rpm

    Linux 7 (ARM AArch64)

    Download da ferramenta RDS XtraBackup 8.0

    sudo yum localinstall -y /XtraBackup8.0/t-rds-xtrabackup-80-8.0.31-20230817110455.alios7.aarch64.rpm

    Linux 8 (ARM AArch64)

    Download da ferramenta RDS XtraBackup 8.0

    sudo yum localinstall -y /XtraBackup8.0/t-rds-xtrabackup-80-8.0.31-20230817110455.al8.aarch64.rpm
    Nota

    Após a instalação, o arquivo executável do Percona XtraBackup estará localizado no diretório /u01/xtrabackup80/bin. Por padrão, esse caminho não é adicionado à variável de ambiente PATH no Linux.

    Para executar comandos do Percona XtraBackup a partir de qualquer diretório, utilize um dos métodos abaixo:

    • Especifique o caminho completo ao executar um comando do Percona XtraBackup. Este tópico adota esse método em vários comandos. Exemplo: /u01/xtrabackup80/bin/xtrabackup --xxxxxx.

    • Adicione manualmente o diretório /u01/xtrabackup80/bin à variável de ambiente PATH.

    MySQL 5,7, 5,6 ou 5,5

    Para instâncias MySQL 5,7, 5,6 ou 5,5, baixe e instale o Percona XtraBackup 2.4.

    Este tópico usa o Percona XtraBackup 2.4.28 como exemplo. Os comandos de instalação são:

    wget https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.28/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.28-1.el7.x86_64.rpm
    sudo yum localinstall -y percona-xtrabackup-24-2.4.28-1.el7.x86_64.rpm
  2. Instale a ferramenta de descompactação qpress.

    ## Download the qpress tar package.
    wget "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20230406/flxd/qpress-11-linux-x64.tar"
    
    ## Extract the downloaded tar package.
    tar -xvf qpress-11-linux-x64.tar
    
    ## Grant execute permissions to the qpress file.
    sudo chmod 775 qpress
    
    ## Copy the qpress file to /usr/bin to make it globally accessible.
    sudo cp qpress /usr/bin

Etapa 1: Baixar o arquivo de backup

  1. Acesse a lista de instâncias RDS, selecione uma região e clique em ID da instância desejada.

  2. No painel de navegação à esquerda, clique em Backup and Restoration.

  3. Na aba Base Backups > Data backup, localize o backup físico desejado e clique em Download instance backup na coluna Actions.

  4. Na caixa de diálogo Download instance backup, copie a url interna ou pública conforme necessário.

    Importante
    • Ao usar uma url interna, o download do arquivo de backup só é possível a partir de um servidor na mesma região e vpc. Não é possível baixar o arquivo de um servidor em outra região ou na rede clássica.

    • O uso de uma url pública para baixar o arquivo de backup gera cobrança de tráfego de internet que exceder a cota gratuita. Para mais detalhes, consulte Billing details.

    • A url de download do backup vale por uma hora. Se expirar, atualize a página para obter a url mais recente.

    • Não modifique nem exclua o conteúdo do arquivo de backup. Isso pode corromper o arquivo e torná-lo irrecuperável. Caso precise fazer alterações, restaure os dados no banco de dados auto-gerenciado primeiro.

  5. Faça login no servidor Linux que hospeda seu banco de dados MySQL auto-gerenciado e execute o comando abaixo para baixar o backup físico.

    wget -c 'https://****.bak.rds.aliyuncs.com/****_xb.qp?****' -O test_xb.qp
    Nota
    • Substitua https://****.bak.rds.aliyuncs.com/****_xb.qp?**** no comando acima pelo endereço real de download do backup. Após baixar o arquivo, armazene-o com segurança para evitar vazamento de dados.

    • Neste exemplo, test_xb.qp é usado como nome de arquivo. Você pode definir um nome personalizado, mas a extensão do arquivo deve corresponder à extensão presente na url de download.

      Atualmente, as urls de download de backups do RDS for MySQL utilizam um destes dois formatos de extensão: _xb.qp ou _qp.xb. Verifique o link de download para identificar qual formato seu arquivo de backup utiliza.

    • O formato de backup físico do RDS for MySQL 5,5 é tar.gz.

Perguntas frequentes sobre download

  • P: Por que ocorre um erro ao baixar um arquivo de dados?

    R: Ao utilizar o comando wget -c 'https://****.bak.rds.aliyuncs.com/****_xb.qp?****' -O test_xb.qp, envolva o endereço de download em aspas simples (') para garantir que o programa identifique corretamente o endereço e evite erros.

Etapa 2: Descompactar o arquivo de backup

Escolha o comando de descompactação adequado com base na extensão do arquivo de backup.

Importante

Consulte a seção Pré-requisitos para instalar o Percona XtraBackup e o qpress e, em seguida, execute os comandos abaixo.

Pacote xbstream (extensão _xb.qp)

Ao executar o comando de descompactação a seguir, substitua test_xb.qp pelo nome do seu arquivo de backup e /var/mysql_bkdata/ pelo caminho de descompactação criado anteriormente.

### MySQL 8.0
qpress -do  test_xb.qp | /u01/xtrabackup80/bin/xbstream -x -v -C /var/mysql_bkdata/

### MySQL 5.5/5.6/5.7
qpress -do  test_xb.qp | xbstream -x -v -C /var/mysql_bkdata/

Pacote xbstream (extensão _qp.xb)

Ao executar o comando de descompactação abaixo, substitua test_qp.xb pelo nome do seu arquivo de backup e /var/mysql_bkdata/ pelo caminho de descompactação criado.

## Step 1: Unpack the file
cat test_qp.xb | xbstream -x -v -C /var/mysql_bkdata/

## Step 2: Decompress the file
### MySQL 5.5/5.6/5.7
innobackupex --decompress --remove-original /var/mysql_bkdata/

### MySQL 8.0
/u01/xtrabackup80/bin/xtrabackup --decompress --remove-original --target-dir=/var/mysql_bkdata/

Pacote tar (extensão .tar.gz)

Ao executar o comando de descompactação a seguir, substitua test.tar.gz pelo nome do seu arquivo de backup e /var/mysql_bkdata/ pelo caminho de descompactação criado.

tar -izxvf test.tar.gz -C /var/mysql_bkdata/

Pacote xbstream (extensão .xb.gz)

Ao executar o comando de descompactação abaixo, substitua test.xb.gz pelo nome do seu arquivo de backup e /var/mysql_bkdata/ pelo caminho de descompactação criado.

### MySQL 8.0
gzip -d -c test.xb.gz | /u01/xtrabackup80/bin/xbstream -x -v -C /var/mysql_bkdata/

### MySQL 5.5/5.6/5.7
gzip -d -c test.xb.gz | xbstream -x -v -C /var/mysql_bkdata/

Perguntas frequentes sobre descompactação

  • P: O que fazer se ocorrer um erro ao descompactar um arquivo de backup baixado?

    R: Verifique os itens abaixo para solucionar o erro:

    Confirme se o arquivo baixado é realmente um arquivo de backup físico.

    Verifique se o arquivo compactado salvo possui o sufixo correto (o sufixo deve ser o mesmo da url, como xb.qp, .tar.gz, .xb.gz ou _qp.xb).

    Utilize o comando de descompactação correto para o formato do arquivo.

    Erros comuns:

    • Ao executar o comando de descompactação, o erro sh: qpress: command not found é relatado.

      Solução: Consulte Pré-requisitos para garantir que a ferramenta qpress esteja instalada no servidor do banco de dados auto-gerenciado.

    • Ao descompactar um pacote xbstream com a extensão _qp.xb, ocorre o erro innobackupex not found.

      Solução: Consulte Pré-requisitos para garantir que o Percona XtraBackup esteja instalado no servidor do banco de dados auto-gerenciado.

    • O erro can't change to dir to xx( errorcode:no such file or directory) é relatado ao usar o comando cat para desempacotar um arquivo xbstream com sufixo _qp.xb.

      Solução: Esse erro indica nome de arquivo ou caminho incorreto. Verifique o nome do arquivo e o caminho no seu comando.

Etapa 3: Restaurar dados

Importante

Antes de restaurar o banco de dados, pare o service do banco de dados auto-gerenciado.

Utilize o comando ps -ef | grep '[m]ysql' para verificar processos mysql e o comando sudo kill -9 <PID> para encerrar o processo.

MySQL 8.0

  1. Prepare a restauração.

    /u01/xtrabackup80/bin/xtrabackup --defaults-file=/var/mysql_bkdata/backup-my.cnf  --prepare --target-dir=/var/mysql_bkdata/

    Parâmetros:

    Parâmetro

    Descrição

    --defaults-file

    Define as opções padrão do MySQL a partir de um arquivo de configuração.

    Um arquivo de backup do RDS MySQL contém um arquivo de configuração chamado backup-my.cnf. Este arquivo está localizado no diretório de descompactação de backup em /var/mysql_bkdata/.

    --prepare

    Comando de preparação da ferramenta XtraBackup.

    --target-dir

    Diretório de descompactação de backup/var/mysql_bkdata/.

  2. Modifique o diretório de dados (datadir) do seu banco de dados auto-gerenciado.

    1. Edite o arquivo de configuração do banco de dados.

      sudo vim /etc/my.cnf

      Para encontrar o caminho do arquivo de configuração do banco de dados, consulte Pré-requisitos.

    2. Pressione a tecla i para entrar no modo de edição e defina o parâmetro datadir como /var/mysql_newdata.

      datadir = /var/mysql_newdata

      mysql_newdata é o novo diretório de dados do banco de dados auto-gerenciado, criado na seção Pré-requisitos.

    3. Conceda permissões no novo diretório de dados.

      chown -R mysql:mysql /var/mysql_newdata 
    4. Pressione a tecla Esc para sair do modo de edição e insira :wq! para salvar e sair.

  3. Restaure os dados.

    sudo xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/var/mysql_bkdata/

    Parâmetros:

    Parâmetro

    Descrição

    --defaults-file

    Obtém o caminho de destino para restauração de dados a partir da configuração do diretório de dados (datadir) no arquivo my.cnf do banco de dados auto-gerenciado.

    --copy-back

    Comando de restauração da ferramenta XtraBackup.

    --target-dir

    A ferramenta XtraBackup restaura os dados do diretório de descompactação de backup, /var/mysql_bkdata/, para o diretório de dados do banco de dados auto-gerenciado.

MySQL 5,7

  1. Prepare a restauração.

    innobackupex --defaults-file=/var/mysql_bkdata/backup-my.cnf --apply-log /var/mysql_bkdata/

    Parâmetros:

    Parâmetro

    Descrição

    --defaults-file

    Define as opções padrão do MySQL a partir de um arquivo de configuração.

    Um arquivo de backup do RDS MySQL contém um arquivo de configuração chamado backup-my.cnf localizado no diretório de descompactação de backup: /var/mysql_bkdata/.

    --apply-log

    Comando de preparação da ferramenta XtraBackup.

    O comando é seguido pelo diretório de armazenamento dos arquivos de backup, ou seja, o diretório de descompactação de backup /var/mysql_bkdata/.

  2. Modifique o arquivo de configuração my.cnf do banco de dados auto-gerenciado.

    1. Edite o arquivo de configuração do banco de dados.

      sudo vim /etc/my.cnf

      Para encontrar o caminho do arquivo de configuração do banco de dados, consulte Pré-requisitos.

    2. Pressione a tecla i para entrar no modo de edição e altere o parâmetro datadir para /var/mysql_newdata.

      datadir = /var/mysql_newdata

      mysql_newdata é o novo diretório de dados do banco de dados auto-gerenciado, criado na seção Pré-requisitos.

    3. Adicione o seguinte conteúdo ao arquivo my.cnf.

      innodb_undo_tablespaces=2
      innodb_undo_directory=/var/mysql_newdata
      Importante

      O valor do parâmetro innodb_undo_tablespaces deve corresponder ao valor em /var/mysql_bkdata/backup-my.cnf. Execute o comando cat /var/mysql_bkdata/backup-my.cnf | grep innodb_undo_tablespaces para consultar o valor.

    4. Pressione a tecla Esc para sair do modo de edição e insira :wq! para salvar e sair.

  3. Restaure os dados.

    sudo innobackupex --defaults-file=/etc/my.cnf --copy-back /var/mysql_bkdata/

    Parâmetros:

    Parâmetro

    Descrição

    --defaults-file

    Obtém o caminho de destino para restauração de dados a partir do arquivo my.cnf do banco de dados auto-gerenciado, especificamente da configuração do diretório de dados (datadir).

    --copy-back

    Comando de restauração da ferramenta XtraBackup.

    O diretório especificado após este comando é o diretório de descompactação de backup, como /var/mysql_bkdata/, de onde a ferramenta XtraBackup restaura os dados para o diretório de dados do banco de dados auto-gerenciado.

MySQL 5,6

  1. Prepare a restauração.

    innobackupex --defaults-file=/var/mysql_bkdata/backup-my.cnf --apply-log /var/mysql_bkdata/

    Parâmetros:

    Parâmetro

    Descrição

    --defaults-file

    Define as opções padrão do MySQL a partir de um arquivo de configuração.

    Um arquivo de backup do RDS MySQL inclui um arquivo de configuração chamado backup-my.cnf. Este arquivo está localizado no diretório de descompactação de backup, /var/mysql_bkdata/.

    --apply-log

    Comando de preparação da ferramenta XtraBackup.

    Após este comando, especifique o diretório para armazenar os arquivos de backup: o diretório de descompactação de backup /var/mysql_bkdata/.

  2. Modifique o diretório de dados (datadir) do seu banco de dados auto-gerenciado.

    1. Edite o arquivo de configuração do banco de dados.

      sudo vim /usr/my.cnf

      Para encontrar o caminho do arquivo de configuração do banco de dados, consulte Pré-requisitos.

    2. Pressione a tecla i para entrar no modo de edição e adicione o parâmetro datadir.

      datadir = /var/mysql_newdata

      mysql_newdata é o novo diretório de dados do banco de dados auto-gerenciado, criado em Pré-requisitos.

    3. Pressione a tecla Esc para sair do modo de edição e insira :wq! para salvar e sair.

  3. Restaure os dados.

    sudo innobackupex --defaults-file=/usr/my.cnf --copy-back /var/mysql_bkdata/

    Parâmetros:

    Parâmetro

    Descrição

    --defaults-file

    No arquivo my.cnf do banco de dados auto-gerenciado, obtém o caminho de destino para restauração de dados a partir do parâmetro diretório de dados (datadir).

    --copy-back

    Comando de restauração da ferramenta XtraBackup.

    Este comando especifica o diretório que contém os arquivos de backup, que é o diretório de descompactação de backup /var/mysql_bkdata/. A ferramenta XtraBackup restaura os dados deste diretório para o diretório de dados do banco de dados auto-gerenciado.

MySQL 5,5

  1. Prepare a restauração.

    innobackupex --defaults-file=/var/mysql_bkdata/backup-my.cnf --apply-log /var/mysql_bkdata/

    Parâmetros:

    Parâmetro

    Descrição

    --defaults-file

    Define as opções padrão do MySQL a partir de um arquivo de configuração.

    Um arquivo de backup do RDS MySQL contém um arquivo de configuração chamado backup-my.cnf. Este arquivo está localizado no diretório de descompactação de backup, que é /var/mysql_bkdata/.

    --apply-log

    Comando de preparação da ferramenta XtraBackup.

    O comando é seguido pelo diretório para armazenamento dos arquivos de backup, ou seja, o diretório de descompactação de backup/var/mysql_bkdata/.

  2. Modifique o arquivo de configuração my.cnf do banco de dados auto-gerenciado.

    1. Edite o arquivo de configuração do banco de dados.

      sudo vim /etc/my.cnf

      Para encontrar o caminho do arquivo de configuração do banco de dados, consulte Pré-requisitos.

    2. Pressione a tecla i para entrar no modo de edição e adicione o parâmetro datadir.

      datadir = /var/mysql_newdata

      mysql_newdata é o novo diretório de dados do banco de dados auto-gerenciado, criado na seção Pré-requisitos.

    3. Adicione o seguinte conteúdo ao arquivo my.cnf.

      innodb_log_file_size=1048576000
      Importante

      O valor do parâmetro innodb_log_file_size deve ser igual ao valor em /var/mysql_bkdata/backup-my.cnf. Utilize o comando cat /var/mysql_bkdata/backup-my.cnf | grep innodb_log_file_size para consultar o valor.

    4. Pressione a tecla Esc para sair do modo de edição e insira :wq! para salvar e sair.

  3. Restaure os dados.

    sudo innobackupex --defaults-file=/etc/my.cnf --copy-back /var/mysql_bkdata/

    Parâmetros:

    Parâmetro

    Descrição

    --defaults-file

    Obtém o caminho de destino para restauração de dados a partir da configuração do diretório de dados (datadir) no arquivo my.cnf do seu banco de dados auto-gerenciado.

    --copy-back

    Comando de restauração da ferramenta XtraBackup.

    Após este comando, especifique o diretório de descompactação de backup, como /var/mysql_bkdata/, de onde a ferramenta XtraBackup restaura os dados para o diretório de dados do banco de dados auto-gerenciado.

  4. Perguntas frequentes sobre restauração

    • P: O sistema retorna o erro xtrabackup: Unknown error 3613. Como resolver?

      R: Atualize o Percona XtraBackup para a versão mais recente e tente novamente.

    • P: O sistema retorna o erro Original data directory /var/mysql_newdata is not empty!. O que devo fazer?

      R: Use o comando sudo rm -rf /var/mysql_newdata/* para limpar os arquivos da pasta e tente a operação de restauração novamente.

    • P: O sistema retorna o erro InnodDB: Encryption information in datafile: ./xxx.ibd can't be decrypted, please check if a keyring plugin is loaded and initialized successfully.. O que devo fazer?

      Verifique se o TDE está ativado para sua instância:

      • Se o TDE estiver ativado, verifique se há tabelas criptografadas. Conforme descrito em Pré-requisitos, descriptografe as tabelas seguindo as instruções em Configure Transparent Data Encryption (TDE) e siga as orientações deste tópico para restaurar os dados.

      • Se o TDE não estiver ativado, certifique-se de ter a versão correta do Percona XtraBackup instalada, conforme descrito em Pré-requisitos.

    • P: Um arquivo de backup baixado contém dados criptografados com TDE, causando falha na restauração. Qual é a solução?

      R: Não é possível restaurar dados de um arquivo de backup criptografado baixado. Tabelas criptografadas em uma instância RDS causam erros de restauração. Conforme descrito em Pré-requisitos, descriptografe as tabelas seguindo as instruções em Configure Transparent Data Encryption (TDE), crie um novo backup e restaure os dados novamente.

    • P: Como resolver o erro innobackupex: File 'undo001' not found (Errcode: 2 - No Such file or directory) que ocorre durante a restauração?

      R: O arquivo undo é um arquivo de sistema que varia entre versões de banco de dados. Verifique se o seu banco de dados auto-gerenciado possui a mesma versão do banco de dados ApsaraDB RDS for MySQL.

    Etapa 4: Iniciar o banco de dados

    MySQL 8,0 e 5,7

    1. (Opcional) No console do RDS for MySQL, visualize os parâmetros da instância para verificar o valor de lower_case_table_names. Se o valor for 1, modifique o arquivo de configuração my.cnf do banco de dados auto-gerenciado.

      1. Edite o arquivo de configuração do banco de dados.

        sudo vim /etc/my.cnf

        Para encontrar o caminho do arquivo de configuração do banco de dados, consulte Pré-requisitos.

      2. Pressione i para entrar no modo de edição e adicione o seguinte conteúdo.

        lower_case_table_names=1
      3. Pressione a tecla Esc para sair do modo de edição e insira :wq! para salvar e sair.

    2. Conceda permissões no diretório de dados.

      sudo chown -R mysql:mysql /var/mysql_newdata
    3. Execute o comando abaixo para iniciar o processo do MySQL.

      sudo mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql_newdata &

      Parâmetros:

      Parâmetro

      Descrição

      --defaults-file

      Caminho do arquivo de configuração do banco de dados auto-gerenciado. Este tópico usa /etc/my.cnf como exemplo. Consulte Pré-requisitos para confirmar o caminho do arquivo de configuração do banco de dados.

      --user

      Usuário que inicia o banco de dados. O valor é fixo como mysql.

      --datadir

      O diretório de dados utilizado pelo banco de dados é /var/mysql_newdata neste exemplo. Consulte Pré-requisitos para determinar o diretório de dados do seu banco de dados.

    MySQL 5,6

    1. (Opcional) No console do ApsaraDB RDS for MySQL, visualize os parâmetros da instância para verificar o valor de lower_case_table_names. Se o valor for 1, modifique o arquivo de configuração my.cnf do banco de dados auto-gerenciado.

      1. Edite o arquivo de configuração do banco de dados.

        sudo vim /usr/my.cnf

        Para encontrar o caminho do arquivo de configuração do banco de dados, consulte Pré-requisitos.

      2. Pressione i para entrar no modo de edição e adicione o seguinte conteúdo.

        lower_case_table_names=1
      3. Pressione a tecla Esc para sair do modo de edição e insira :wq! para salvar e sair.

    2. Conceda permissões no diretório de dados.

      sudo chown -R mysql:mysql /var/mysql_newdata
    3. Execute o comando abaixo para iniciar o processo do MySQL.

      sudo mysqld --defaults-file=/usr/my.cnf --user=mysql --datadir=/var/mysql_newdata &

      Parâmetro

      Descrição

      --defaults-file

      Caminho do arquivo de configuração do banco de dados auto-gerenciado. Este tópico usa /usr/my.cnf como exemplo. Consulte Pré-requisitos para confirmar o caminho.

      --user

      Usuário que inicia o banco de dados. O valor é fixo como mysql.

      --datadir

      O diretório de dados usado para iniciar o banco de dados. Este tópico usa /var/mysql_newdata como exemplo. Consulte Pré-requisitos para determinar o diretório de dados do banco de dados.

    4. MySQL 5,5

      1. Conceda permissões no diretório de dados.

        sudo chown -R mysql:mysql /var/mysql_newdata
      2. Execute o comando abaixo para iniciar o processo do MySQL.

        sudo mysqld --defaults-file=/etc/my.cnf --user=mysql --datadir=/var/mysql_newdata &

        Parâmetro

        Descrição

        --defaults-file

        Caminho do arquivo de configuração do banco de dados auto-gerenciado. Este tópico usa /etc/my.cnf como exemplo. Para confirmar o caminho do seu banco de dados, consulte Pré-requisitos.

        --user

        Usuário que inicia o banco de dados. O valor é fixo como mysql.

        --datadir

        O diretório de dados é usado para iniciar o banco de dados. Este tópico usa /var/mysql_newdata como exemplo. Consulte Pré-requisitos para confirmar o diretório de dados do seu banco de dados.

      Perguntas frequentes sobre inicialização

      • P: O que causa o erro mysqld: [ERROR] Failed to open required defaults file: /etc/my.cnf em um sistema operacional Ubuntu e como resolvê-lo?

        R: Esse erro é causado pelo programa de segurança AppArmor do Ubuntu. Utilize os comandos apt install -y apparmor-utils e aa-complain /usr/sbin/mysqld para modificar as configurações do AppArmor.

      • P: Após concluir a restauração, o que fazer se o banco de dados auto-gerenciado falhar ao iniciar ou se você encontrar o error 1105 Unknown error durante o uso?

        R: Execute as instruções SQL abaixo para alterar o mecanismo de armazenamento do banco de dados:

        USE mysql;
        ALTER TABLE proc engine=myisam;
        ALTER TABLE event engine=myisam;
        ALTER TABLE func engine=myisam;
        Nota

        Se receber o erro ERROR 1067 (42000): Invalid default value for 'modified', execute primeiro a instrução SET SQL_MODE='ALLOW_INVALID_DATES';.

      • P: Qual é a senha root após a restauração do banco de dados?

        R: O método para obter a senha root varia conforme a versão:

        • Se sua instância executa MySQL 5,7 ou 8,0, a senha root é a mesma do seu banco de dados auto-gerenciado.

        • Se sua instância executa MySQL 5,5 ou 5,6, redefina a senha root antes de usar o banco de dados. Para mais informações, consulte a documentação oficial.

      • P: O erro InnodDB: Assertion failure in thread 140xxx in file page0zip.ic xxx ocorre durante a inicialização. Como resolver?

        R: Esse erro pode ser causado por espaço em disco insuficiente. Tente expandir o disco do servidor do banco de dados auto-gerenciado e tente novamente.

      • P: Como resolver os seguintes erros que ocorrem durante a inicialização: [ERROR] Failed to open the relay log xxx, [ERROR] Slave: Failed to initialize the master info xxx ou [ERROR] Failed to create or recover replication info repositories.?

        R: Esses erros ocorrem porque a instância RDS está configurada para alta disponibilidade (HA), mas o banco de dados auto-gerenciado local não utiliza nós primário e secundário. Ignore esses erros com segurança, pois eles não afetam a inicialização.

      • P: Como resolver o erro [ERROR] Data Dictionary initialization failed que ocorre durante a inicialização?

        R: Esse erro pode ser causado por um sistema operacional incompatível. O sistema operacional subjacente do ApsaraDB RDS é Linux. Recomendamos usar um sistema operacional baseado em Linux para restaurar o banco de dados, pois o uso de um sistema diferente pode causar problemas de compatibilidade de versão.

      • P: O comando sudo systemctl start mysqld falha ao iniciar o service MySQL local. O que devo fazer?

        R: Isso pode ser causado pelo SELinux estar no modo Enforcing no Linux. Execute o comando getenforce para verificar o status atual do SELinux.

        • Se for um ambiente de desenvolvimento ou teste, recomendamos alterar o modo do SELinux para Permissive. Em seguida, tente iniciar o MySQL usando sudo systemctl start mysqld.

        • Para ambientes de produção, recomendamos verificar os logs do SELinux para determinar o motivo específico da falha de inicialização e corrigir a política do SELinux com base nessas informações.

      Etapa 5: Conectar e verificar

      1. Execute o comando abaixo para fazer login no banco de dados MySQL e verificar se o processo foi iniciado com sucesso.

        mysql -u -p
        Nota
        • Este comando de login serve para verificar se a restauração foi bem-sucedida. Se precisar apenas visualizar dados de tabelas, certifique-se de que a conta tenha permissões de consulta.

        • Caso tenha esquecido sua conta ou senha, passe o parâmetro --skip-grant-tables ao executar o comando para iniciar o processo do MySQL. Após a inicialização, o processo ignora a verificação de permissões e permite o login no banco de dados sem conta ou senha. Depois de fazer login com sucesso, redefina sua conta e senha.

      2. Execute o comando abaixo para verificar se os bancos de dados da instância ApsaraDB RDS for MySQL existem.

        SHOW DATABASES;

      Perguntas frequentes sobre conexão e verificação

      • P: Após a restauração, por que os valores de tempo nos meus dados estão inconsistentes com a hora local e como corrigir isso?

        R: Se o fuso horário do banco de dados auto-gerenciado for diferente do da instância RDS, modifique o parâmetro time_zone do banco de dados auto-gerenciado para corresponder ao da instância RDS. Se o parâmetro time_zone da instância RDS estiver definido como system, verifique a região onde a instância RDS está localizada e defina o parâmetro time_zone do banco de dados auto-gerenciado para o fuso horário dessa região.

      • P: Recebo o erro Access denied for user 'XXX' ao conectar-me a um banco de dados auto-gerenciado. Como resolver?

        R: Verifique se está usando a conta e a senha corretas da instância original do ApsaraDB RDS for MySQL.

      • P: Esqueci minha senha ao conectar-me ao banco de dados auto-gerenciado. O que devo fazer?

        R: Se esquecer sua conta ou senha, inicie o processo do MySQL com o parâmetro --skip-grant-tables. Essa ação ignora as verificações de permissão na inicialização, permitindo o login no banco de dados sem conta ou senha. Note que o uso do parâmetro --skip-grant-tables representa um risco de segurança. Altere sua conta e senha imediatamente após o login.

      • P: Após conectar-me ao banco de dados auto-gerenciado, vejo apenas bancos de dados do sistema ou alguns dos bancos de dados. Como proceder?

        R: Reinicie o banco de dados e conecte-se usando a conta root ou uma conta com altos privilégios da instância RDS original para visualizar os bancos de dados.

      Referências

      Perguntas frequentes

      Posso restaurar um backup baixado do RDS for MySQL em outra instância RDS for MySQL?

      Não, essa operação não tem suporte direto. Para restaurar os dados em outra instância, utilize um dos métodos abaixo:

      Como posso restaurar dados de um intervalo de tempo específico para um banco de dados auto-gerenciado?

      Baixe o backup de log do intervalo de tempo especificado no console e restaure-o no seu banco de dados auto-gerenciado. Para mais informações, consulte Download backups e Point-in-time recovery.

      Como faço backup de dados de uma instância RDS for MySQL para um banco de dados auto-gerenciado?

      Como restauro ou migro dados de uma instância RDS Basic Edition?

      Instâncias RDS Basic Edition suportam apenas backups de snapshot. Utilize um dos métodos abaixo:

      Posso restaurar backups físicos de várias instâncias RDS for MySQL em um único banco de dados auto-gerenciado?

      Não, isso não tem suporte. Restaure cada backup físico em um banco de dados auto-gerenciado separado. Após restaurar os dados, use o DTS ou mysqldump para consolidar os dados. Para mais informações, consulte Use DTS to migrate a self-managed MySQL database to an RDS for MySQL instance ou Migrate MySQL data by using mysqldump.

      Se eu criar uma conta privilegiada na instância de origem, ela manterá seus privilégios após a restauração de um backup físico em um banco de dados auto-gerenciado?

      Sim. O backup retém as permissões da conta e a operação de restauração não as altera.