sql >> Base de Datos >  >> RDS >> Mysql

Migración de MySQL a PostgreSQL en AWS RDS, Parte 2

La base de datos MySQL y la base de datos PostgreSQL son los dos principales sistemas de administración de bases de datos relacionales (RDBMS) de código abierto, y cada uno proporciona algunos beneficios únicos. En el artículo anterior, "Migración de MySQL a PostgreSQL en AWS RDS, parte 1", discutimos algunas de las ventajas de PostgreSQL sobre MySQL y presentamos AWS Database Migration Service (DMS) para realizar una migración de MySQL a PostgreSQL. Comenzamos creando un usuario de AWS IAM para DMS. En este tutorial de continuación, crearemos instancias de bases de datos MySQL y PostgreSQL en RDS y nos conectaremos a cada una. Este tutorial tiene las siguientes secciones:

  • Creación de instancias de AWS RDS para una base de datos MySQL y una base de datos PostgreSQL
  • Configuración de la conectividad entre las bases de datos y el DMS
  • Conexión a la base de datos MySQL
  • Conexión a una base de datos PostgreSQL
  • Conclusión

Creación de instancias de AWS RDS para una base de datos MySQL y una base de datos PostgreSQL

Cree las bases de datos de origen y destino, la base de datos MySQL y la base de datos PostgreSQL respectivamente, en AWS RDS. El uso de RDS se trata en un tutorial anterior. Para la base de datos de origen, la base de datos MySQL, seleccione MySQL, como se muestra en la Figura 1.


Figura 1: Seleccionando MySQL en RDS

Seleccione Producción o Desarrollo/Prueba opción de implementación, como se muestra en la Figura 2. Haga clic en Siguiente paso.


Figura 2: Selección del tipo de implementación

Especifique detalles de la base de datos , la mayoría de los cuales tienen configuraciones predeterminadas adecuadas. Seleccione Clase de instancia de base de datos (db.t2.micro o db.t1.micro). Especifique un identificador de instancia de base de datos (MYSQLDB), que no debe ser una palabra reservada de la base de datos MySQL, como "MYSQL". Especifique un nombre de usuario maestro, una contraseña maestra (debe tener al menos 8 caracteres) y haga clic en Siguiente paso. A continuación, configure Configuración avanzada . Para VPC, seleccione Crear nueva VPC . Para Grupo de subred, seleccione Crear nuevo grupo de subred de base de datos . Para accesible públicamente , seleccione . Para Zona de disponibilidad , seleccione Sin preferencia . Para grupo de seguridad de VPC , seleccione Crear nuevo grupo de seguridad. Especifique las opciones de la base de datos, incluido el nombre de la base de datos (MYSQLDB), que no debe ser una palabra reservada como "MYSQL", y el puerto de la base de datos (3306). Mantenga la configuración predeterminada para Copia de seguridad; Se requieren copias de seguridad automáticas para usar MySQL en RDS como fuente de DMS. Mantenga la configuración predeterminada para Supervisión y mantenimiento y haga clic en Iniciar instancia de base de datos . Se crea la base de datos MySQL en RDS.

Para una base de datos PostgreSQL, seleccione el motor de base de datos RDS como PostgreSQL , como se muestra en la Figura 3.


Figura 3: Selección del motor de base de datos PostgreSQL

Seleccione el tipo de implementación Desarrollo/Prueba y haga clic en Siguiente paso. Especifique los detalles de la base de datos; la mayoría de las configuraciones predeterminadas son adecuadas. Especifique el identificador de instancia de base de datos (postgresdb), el nombre de usuario maestro, la contraseña maestra y haga clic en Siguiente paso. A continuación, configure los ajustes avanzados, incluidas las opciones de la base de datos para el nombre de la base de datos (postgresdb), el puerto de la base de datos (5432) y haga clic en Iniciar instancia de base de datos. Se lanza una base de datos PostgreSQL en RDS. La base de datos MySQL y la base de datos PostgreSQL en RDS se muestran en la Figura 4.


Figura 4: Base de datos MySQL y PostgreSQL en RDS

Configuración de la conectividad entre las bases de datos y el DMS

De forma predeterminada, el Servicio de migración de base de datos (DMS) no puede conectarse con las instancias de base de datos de RDS. Necesitamos agregar conectividad a los grupos de seguridad para la instancia de base de datos de RDS. Haga clic en el Grupo de seguridad enlace en Detalles de configuración para la instancia de base de datos MySQL RDS, como se muestra en la Figura 5.


Figura 5: Grupo de seguridad para MySQL en RDS

En la consola del grupo de seguridad, seleccione la pestaña Entrante y haga clic en Editar (ver Figura 6).


Figura 6: Grupo de seguridad>Editar

En Editar reglas de entrada , seleccione Tipo como Todo el tráfico , Protocolo como Todos , Rango de puertos como 0-65535, Fuente como En cualquier lugar y haz clic en Guardar , como se muestra en la Figura 7.


Figura 7: Configuración de reglas de entrada para permitir todo el tráfico

Las reglas de entrada se configuran para permitir todo el tráfico, como se muestra en la Figura 8.


Figura 8: Entrante>Todo el tráfico

El saliente las reglas también deben establecerse en Todo el tráfico, como se muestra en la Figura 9, cuando se configuran las reglas de entrada.


Figura 9: Saliente>Todo el tráfico

De manera similar, haga clic en el enlace Grupo de seguridad para la instancia de base de datos RDS de PostgreSQL, como se muestra en la Figura 10, y configure las reglas de entrada/salida para permitir todo el tráfico.


Figura 10: Configuración del grupo de seguridad para PostgreSQL para permitir todo el tráfico

Conexión a la base de datos MySQL

Al migrar una instancia de base de datos MySQL en RDS, se puede migrar la base de datos completa, que incluye todos los esquemas y tablas, incluidos los esquemas y tablas del sistema. En esta sección, nos conectaremos a la base de datos MySQL en RDS y otorgaremos algunos privilegios de usuario al dvohra usuario. Para conectarse a la base de datos MySQL, obtenga la base de datos Endpoint desde el Panel RDS (consulte la Figura 11).


Figura 11: Obteniendo Endpoint

En un shell de comandos, ejecute el siguiente comando MySQL desde el directorio bin de la base de datos MySQL (C:Program FilesMySQLMySQL Server 5.7bin). Esto iniciará una sesión de la CLI de MySQL.

mysql -h mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com
   -u dvohra -p

Especifique la contraseña en Introducir contraseña: oportuno. El SQL> se muestra el símbolo del sistema, como se muestra en la Figura 12.


Figura 12: Conexión a la base de datos MySQL con CLI

A continuación, otorgue privilegios para la instancia de la base de datos MySQL en RDS al usuario de DMS (dvohra).

GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE,
   SELECT ON *.* TO 'dvohra'@'%';
GRANT ALL PRIVILEGES ON awsdms_control.* TO 'dvohra'@'%';

Se establecen los privilegios de usuario, como se muestra en la Figura 13.


Figura 13: Adición de privilegios de usuario

Conexión a una base de datos PostgreSQL

Para conectarse a la base de datos PostgreSQL en RDS desde un shell de comandos, obtenga la base de datos Endpoint desde el tablero de RDS, como se muestra en la Figura 14.


Figura 14: Obtención del extremo de la base de datos de PostgreSQL en RDS

Ejecute el siguiente comando para conectarse a la base de datos PostgreSQL e iniciar una interfaz de línea de comandos (CLI).

psql --host=postgresdb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com
     --port=5432 --username dvohra --password --dbname=postgresdb

Se inicia la interfaz de línea de comandos (CLI) de la base de datos de PostgreSQL, como se muestra en la Figura 15.


Figura 15: Conexión a la base de datos PostgreSQL en RDS con una CLI

Enumere los esquemas con el dn dominio. El esquema público aparece en la lista (consulte la Figura 16).


Figura 16: Listado de esquemas

Conclusión

En este segundo de cuatro tutoriales sobre la migración de una instancia de base de datos MySQL en RDS a una instancia de base de datos Postgres en RDS con AWS DMS, creamos instancias de las dos bases de datos en RDS y las conectamos a las instancias de la base de datos. En el siguiente tutorial, crearemos una migración de DMS.