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

Migrando MySQL para PostgreSQL no AWS RDS, Parte 1


O banco de dados MySQL e o banco de dados PostgreSQL são sistemas de gerenciamento de banco de dados relacional de código aberto (RDBMS) classificados em 2 e 4, respectivamente, de acordo com DBEngines.com. Ambos são implementados em C (C++ também é usado para banco de dados MySQL) e ambos fornecem recursos semelhantes, como suporte a XML, índices secundários, simultaneidade, durabilidade e funções definidas pelo usuário. O banco de dados PostgreSQL oferece várias vantagens, algumas das quais são as seguintes:
  • Suporta tipos de dados avançados, como matrizes multidimensionais e tipos definidos pelo usuário
  • Common Table Expressions (CTEs) e funções Window estão disponíveis desde o PostgreSQL 8.4, sendo adicionados ao MySQL apenas na versão 8.0
  • Suporta junções externas completas
  • Suporta listas VALUES para gerar uma "tabela constante" que pode ser usada em uma consulta
  • Suporta o conjunto de funções de retorno generate_series
  • Suporta consultas paralelas usando várias CPUs para responder a consultas mais rapidamente desde a versão 9.6
  • Suporta visualizações materializadas

Ao migrar do MySQL para o banco de dados PostgreSQL AWS, o DMS (Database Migration Service) fornece um serviço gerenciado confiável com tempo de inatividade zero para replicação contínua de dados. Em quatro tutoriais, discutiremos a migração de uma instância de banco de dados MySQL para o banco de dados PostgreSQL, ambos executados no AWS Relational Database Service (RDS). Este tutorial tem as seguintes seções:
  • Definindo o ambiente
  • Criando um usuário do IAM para DMS

Definindo o ambiente


O único pré-requisito é uma conta AWS, que pode ser criada neste link. Crie uma chave mestra de criptografia KMS para ser usada com DMS se uma chave mestra ainda não estiver disponível. Uma chave mestra KMS é criada a partir das IAM>Chaves de criptografia painel de controle. Usamos uma chave mestra de criptografia KMS chamada “dbms” neste tutorial.

Instale o banco de dados MySQL e o banco de dados PostgreSQL em uma máquina local para usar os aplicativos de interface do cliente para se conectar a instâncias de banco de dados MySQL e PostgreSQL no RDS.

Criando um usuário do IAM para DMS


O DMS é totalmente integrado a vários outros serviços da AWS, como RDS para bancos de dados, IAM para gerenciamento de identidade e acesso, KMS para criptografia de dados e CloudWatch para registro. O DMS também oferece suporte a S3 (Simple Storage Service) como destino para uma migração. Nesta seção, criaremos um usuário do IAM que é usado com o DMS para migrar uma instância do banco de dados MySQL para o banco de dados PostgreSQL. O usuário do IAM é criado da seguinte forma:
  1. Crie uma política do IAM com todas as permissões e declarações de política necessárias.
  2. Crie um usuário do IAM com base na política do IAM.

Para criar uma política do IAM, clique em Criar política no painel do IAM, conforme mostrado na Figura 1.


Figura 1: Criar política

Em Criar política assistente, selecione Criar sua própria política , como mostrado na Figura 2.


Figura 2: Selecionando a opção Criar sua própria política

Em Revisar Política , especifique um Nome de política (DMS). Em seguida, copie o seguinte documento de política no Documento de política campo ou região.
{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Effect": "Allow",
         "Action": "dms:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "s3:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "ds:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "rds:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "kms:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "iam:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "ec2:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "cloudwatch:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "aws-marketplace:*",
         "Resource": "*"
      },
      {
         "Effect": "Allow",
         "Action": "logs:*",
         "Resource": "*"
      }
   ]
}

O documento de política adiciona permissões para acessar o CloudWatch para registro e RDS para bancos de dados. Clique em Validar política e, se a mensagem for "A política é válida", clique em Criar política , como mostrado na Figura 3.


Figura 3: Criar política

Se a política for criada, a mensagem mostrada na Figura 4 deverá ser exibida.


Figura 4: O DMS foi criado

Em seguida, adicione um usuário do IAM. Selecione Usuários no painel do IAM e clique em Adicionar usuário , como mostrado na Figura 5.


Figura 5: Adicionar usuário

Especifique um Nome de usuário (dvohra). Em seguida, selecione as duas opções listadas para Tipo de acesso (ver Figura 6).


Figura 6: Adicionando detalhes do usuário

Selecione a senha personalizada opção para Senha do console , especifique uma senha e clique em Próximo:Permissões , como mostrado na Figura 7.


Figura 7: Configurando o tipo de acesso

Em seguida, defina as permissões para o usuário. Clique em Anexar políticas existentes diretamente , como mostrado na Figura 8.


Figura 8: Anexe políticas existentes diretamente

No tipo de política filtro, procure por “DMS”, que é a política criada anteriormente. Selecione a política DMS conforme mostrado na Figura 9 e clique em Avançar.


Figura 9: Selecionando a Política DMS

Em Revisão , a política DMS deve ser listada como Política gerenciada nas Permissões resumo. Clique em Criar usuário , como mostrado na Figura 10.


Figura 10: Criar usuário

O usuário do IAM é criado (consulte a Figura 11).


Figura 11: Usuário do IAM criado

O usuário do IAM é listado em IAM>Usuários painel, como mostrado na Figura 12.


Figura 12: Usuário do IAM

Para fazer login como o usuário do IAM criado, clique no link do usuário, selecione as Credenciais de segurança guia e copie o link de login do console , conforme mostrado na Figura 13.


Figura 13: Link de login do console

Faça login como o usuário do IAM criado usando o link de login do console para as seções subsequentes.

Conclusão


Neste primeiro de quatro tutoriais sobre como migrar uma instância de banco de dados MySQL no RDS para uma instância de banco de dados Postgres no RDS, criamos um usuário do IAM para realizar a migração.