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
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.-
Faça login no servidor Linux local e use a ferramenta
mysqldumppara 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>.sqlExemplo:
NotaA conta
userno 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.sqlImportanteNã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.
-
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.sqlExemplo:
mysqldump -h localhost -u user -p --opt --default-character-set=utf8 --hex-blob testdb -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp/testdb_trigger.sqlNotaSe o banco de dados não usar procedimentos armazenados, gatilhos ou funções, ignore esta etapa. Ao exportar esses objetos, remova a cláusula
DEFINERpara garantir compatibilidade com o ApsaraDB RDS for MariaDB. -
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.sqlExemplo:
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 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.