Importar dados de um banco de dados externo do MariaDB para uma instância de banco de dados do Amazon RDS para MariaDB - Amazon Relational Database Service

Importar dados de um banco de dados externo do MariaDB para uma instância de banco de dados do Amazon RDS para MariaDB

É possível importar dados de um banco de dados MariaDB existente para uma instância de banco de dados do RDS para MariaDB. Para isso, copie o banco de dados com mysqldump ou mariadb-dump e conecte-o diretamente à instância de banco de dados do RDS para MariaDB. O utilitário de linha de comando mysqldump ou mariadb-dump é comumente usado para fazer backups e transferir dados de um servidor do MariaDB para outro. Ele está incluído no software-cliente do MariaDB.

A partir do MariaDB 11.0.1, você deve usar mariadb-dump em vez de mysqldump.

Um comando mysqldump típico para mover dados de um banco de dados externo para uma instância de banco de dados do Amazon RDS é semelhante ao exemplo a seguir. Substitua os valores por suas próprias informações. Para o MariaDB 11.0.1 e versões posteriores, substitua mysqldump por mariadb-dump.

mysqldump -u local_user \ --databases database_name \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocal_password | mariadb -u RDS_user \ --port=port_number \ --host=host_name \ -pRDS_password
Importante

Não deixe um espaço entre a opção -p e a senha inserida.

Faz parte das práticas recomendadas de segurança especificar credenciais diferentes dos prompts mostrados neste exemplo.

Analise as seguintes recomendações e considerações:

  • Exclua os seguintes esquemas do arquivo de despejo:

    • sys

    • performance_schema

    • information_schema

    O utilitário mysqldump e mariadb-dump exclui esses esquemas por padrão.

  • Para migrar usuários e privilégios, considere o uso de uma ferramenta que gera a linguagem de controle de dados (DCL) para recriá-los, como o utilitário pt-show-grants.

  • Para realizar a importação, verifique se o usuário que está fazendo isso tem acesso à instância de banco de dados. Para obter mais informações, consulte Controlar acesso com grupos de segurança.

Os parâmetros utilizados são os seguintes:

  • -u local_user – use para especificar um nome do usuário. Ao usar esse parâmetro pela primeira vez, especifique o nome de uma conta de usuário no banco de dados local MariaDB que você identifica com o parâmetro --databases.

  • --databases database_name: use para especificar o nome do banco de dados na instância do MariaDB local que você deseja importar para o Amazon RDS.

  • --single-transaction – use para garantir que todos os dados carregados do banco de dados local sejam consistentes com um único ponto no tempo. Se houver outros processos alterando os dados enquanto eles são lidos por mysqldump ou mariadb-dump, usar esse parâmetro ajudará a manter a integridade dos dados.

  • --compress – use para reduzir o consumo de largura de banda da rede, compactando os dados do banco de dados local antes de os enviar para o Amazon RDS.

  • --order-by-primary – use para reduzir o tempo de carregamento, ordenando os dados de cada tabela de acordo com a chave primária.

  • --routines: use se houver determinadas rotinas, como funções ou procedimentos armazenados, no banco de dados que você está copiando. Defina o parâmetro como 0, o que exclui as rotinas durante o processo de importação. Depois, recrie manualmente as rotinas no banco de dados do Amazon RDS.

  • --triggers: use se houver gatilhos no banco de dados que você está copiando. Defina o parâmetro como 0, o que exclui os gatilhos durante o processo de importação. Depois, recrie manualmente os gatilhos no banco de dados do Amazon RDS.

  • --events: use se houver eventos no banco de dados que você está copiando. Defina o parâmetro como 0, o que exclui os eventos durante o processo de importação. Em seguida, recrie manualmente os eventos no banco de dados do Amazon RDS.

  • -plocal_password: use para especificar uma senha. Ao usar esse parâmetro pela primeira vez, especifique a senha da conta de usuário que você identifica com o primeiro parâmetro -u.

  • -u RDS_user – use para especificar um nome do usuário. Ao usar esse parâmetro pela segunda vez, especifique o nome de uma conta de usuário no banco de dados padrão para a instância de banco de dados do MariaDB que você identifica com o parâmetro --host.

  • --port port_number: use para especificar a porta da sua instância de banco de dados do MariaDB. Por padrão, essa porta é 3306, a menos que você tenha alterado o valor ao criar a instância de banco de dados.

  • --host host_name – use para especificar o nome do Sistema de Nome de Domínio (DNS) do endpoint da instância de banco de dados Amazon RDS, por exemplo, myinstance.123456789012.us-east-1.rds.amazonaws.com. Você pode encontrar o valor do endpoint nos detalhes da instância do banco de dados no console do Amazon RDS.

  • -pRDS_password: use para especificar uma senha. Na segunda utilização desse parâmetro, você especifica a senha da conta de usuário identificada pelo segundo parâmetro -u.

Certifique-se de criar procedimentos armazenados, acionadores, funções ou eventos manualmente no seu banco de dados Amazon RDS. Se algum desses objetos estiver no banco de dados que você está copiando, exclua-os quando executar mysqldump ou mariadb-dump. Para fazer isso, inclua os seguintes parâmetros com o comando mysqldump ou mariadb-dump:

  • --routines=0

  • --triggers=0

  • --events=0

Exemplo

O exemplo a seguir copia o banco de dados de exemplo world no host local para uma instância de banco de dados do RDS para MariaDB. Substitua os valores por suas próprias informações.

Para Linux, macOS ou Unix:

sudo mariadb-dump -u local_user \ --databases world \ --single-transaction \ --compress \ --order-by-primary \ --routines=0 \ --triggers=0 \ --events=0 \ -plocal_password | mariadb -u rds_user \ --port=3306 \ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com \ -pRDS_password

Para Windows:

Execute o comando a seguir em um prompt de comando que foi aberto clicando com o botão direito do mouse em Prompt de comando no menu de programas do Windows e escolhendo Executar como administrador. Substitua os valores por suas próprias informações.

mariadb-dump -u local_user ^ --databases world ^ --single-transaction ^ --compress ^ --order-by-primary ^ --routines=0 ^ --triggers=0 ^ --events=0 ^ -plocal_password | mariadb -u RDS_user ^ --port=3306 ^ --host=my_instance.123456789012.us-east-1.rds.amazonaws.com ^ -pRDS_password
nota

Faz parte das práticas recomendadas de segurança especificar credenciais diferentes dos prompts mostrados no exemplo.