Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Migrar um banco de dados MariaDB autogerenciado para o ApsaraDB RDS for MariaDB usando mysqldump

Última atualização: Jun 26, 2026

Use a ferramenta mysqldump para migrar dados de um banco de dados MariaDB autogerenciado para uma instância do ApsaraDB RDS for MariaDB.

Contexto

O ApsaraDB RDS for MariaDB é totalmente compatível com o MariaDB nativo. Portanto, migrar seu banco de dados para uma instância RDS assemelha-se à transferência de dados entre dois servidores MariaDB.

Este tópico usa como exemplo um banco de dados autogerenciado em execução no Linux 7 e MariaDB 10.2.4.

Observações de uso

Após a migração, os nomes das tabelas são convertidos para letras minúsculas e tornam-se insensíveis a maiúsculas e minúsculas.

Pré-requisitos

Você já configurou uma lista de permissões de endereços IP e solicitou um endpoint público para sua instância do ApsaraDB RDS for MariaDB.

Procedimento

  1. Use uma ferramenta cliente para conectar-se à sua instância do ApsaraDB RDS for MariaDB e crie um banco de dados vazio. Neste exemplo, o banco de dados chama-se test001. No cliente MySQL-Front, conecte-se à instância MariaDB e execute o comando create database test001; no SQL Editor para criar o banco de dados de destino. Após a execução, o banco de dados test001 aparecerá na lista de bancos de dados à esquerda.

  2. Faça login no servidor Linux local e use a ferramenta mysqldump para exportar os dados do banco de dados para um arquivo.

    mysqldump -h localhost -u <source_username> -p --opt --default-character-set=utf8 --hex-blob <source_database_name> --skip-triggers > /tmp/<source_database_name>.sql

    Exemplo:

    Nota

    A conta user no exemplo a seguir deve ter permissões específicas. Para obter instruções, consulte Configurações de permissões.

    mysqldump -h localhost -u user -p --opt --default-character-set=utf8 --hex-blob testdb --skip-triggers > /tmp/testdb.sql
    Importante

    Não atualize dados durante a exportação. Esta etapa exporta apenas os dados do banco de dados, sem incluir procedimentos armazenados, gatilhos ou funções.

  3. Exporte os procedimentos armazenados, gatilhos e funções com o mysqldump.

    mysqldump -h localhost -u <source_username> -p --opt --default-character-set=utf8 --hex-blob <source_database_name> -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp/<source_database_name>_trigger.sql

    Exemplo:

    mysqldump -h localhost -u user -p --opt --default-character-set=utf8 --hex-blob testdb -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp/testdb_trigger.sql
    Nota

    Se o banco de dados não usar procedimentos armazenados, gatilhos ou funções, ignore esta etapa. Ao exportar esses objetos, remova a cláusula DEFINER para garantir compatibilidade com o ApsaraDB RDS for MariaDB.

  4. Execute os comandos a seguir para importar os arquivos exportados para a instância de destino do ApsaraDB RDS for MariaDB.

    mysql -h <rds_public_endpoint> -P <rds_port> -u <privileged_account> -p <target_database_name> < /tmp/<source_database_name>.sql
    mysql -h <rds_public_endpoint> -P <rds_port> -u <privileged_account> -p <target_database_name> < /tmp/<source_database_name>_trigger.sql

    Exemplo:

    mysql -h rm-bpxxxxx.mariadb.rds.aliyuncs.com -P 3306 -u testuser -p test001 < /tmp/testdb.sql
    mysql -h rm-bpxxxxx.mariadb.rds.aliyuncs.com -P 3306 -u testuser -p test001 < /tmp/testdb_trigger.sql
  5. Atualize a ferramenta cliente e verifique as tabelas no banco de dados de destino para confirmar se a migração dos dados foi concluída com sucesso.