Uso de MySQL como origen para AWS SCT - AWS Schema Conversion Tool

Uso de MySQL como origen para AWS SCT

Puede usar AWS SCT para convertir esquemas, objetos de código de bases de datos y código de aplicación de MySQL a los siguientes destinos:

  • Amazon RDS para PostgreSQL

  • Edición de Amazon Aurora compatible con PostgreSQL

  • Amazon RDS para MySQL

Para obtener más información, consulte las siguientes secciones:

Privilegios para MySQL como base de datos de origen

A continuación se enumeran los privilegios necesarios para MySQL como origen:

  • SELECT ON *.*

  • SHOW VIEW ON *.*

Conexión a MySQL como origen

Utilice el siguiente procedimiento para conectarse a su base de datos MySQL de origen con la AWS Schema Conversion Tool.

Para conectarse a una base de datos de MySQL
  1. En AWS Schema Conversion Tool, seleccione Agregar origen.

  2. Seleccione MySQL y, a continuación, elija Siguiente.

    Se abrirá el cuadro de diálogo Agregar origen.

  3. En Nombre de conexión, escriba un nombre para su base de datos. AWS SCT muestra este nombre en el árbol del panel izquierdo.

  4. Utilice las credenciales de la base de datos de AWS Secrets Manager o introdúzcalas manualmente:

    • Para usar las credenciales de base de datos de Secrets Manager, siga las instrucciones siguientes:

      1. En Secreto de AWS, elija el nombre del secreto.

      2. Seleccione Rellenar para rellenar automáticamente todos los valores del cuadro de diálogo de conexión a la base de datos de Secrets Manager.

      Para obtener información sobre el uso de las credenciales de bases de datos de Secrets Manager, consulte Configuración de AWS Secrets Manager en AWS Schema Conversion Tool.

    • Para introducir manualmente la información de conexión a la base de datos de origen de MySQL, siga estas instrucciones:

      Parámetro Acción
      Nombre del servidor

      Escriba el nombre del sistema de nombres de dominio (DNS) o la dirección IP del servidor de base de datos de origen.

      Puede conectarse a la base de datos de MySQL de origen a través de un protocolo de direcciones IPv6. Para ello, utilice corchetes para escribir la dirección IP, tal y como se muestra en el siguiente ejemplo.

      [2001:db8:ffff:ffff:ffff:ffff:ffff:fffe]
      Puerto del servidor

      Escriba el puerto utilizado para conectarse al servidor de base de datos de origen.

      Nombre de usuario y Contraseña

      Introduzca las credenciales de la base de datos para conectarse al servidor de base de datos de origen.

      AWS SCT utiliza la contraseña para conectarse a la base de datos de origen solo cuando decide conectarse a la base de datos en un proyecto. Para evitar que la contraseña de su base de datos de origen quede expuesta, AWS SCT no la almacena por defecto. Si cierra su proyecto de AWS SCT y vuelve a abrirlo, se le solicitará la contraseña para conectarse a su base de datos de origen, según sea necesario.

      Usar SSL

      Seleccione esta opción para utilizar capa de sockets seguros (SSL) para conectarse a su base de datos. Proporcione la siguiente información adicional, según proceda, en la pestaña SSL:

      • Requerir SSL: seleccione esta opción para conectar con el servidor únicamente a través de SSL.

        Si selecciona Requerir SSL, significa que si el servidor no admite SSL, no puede conectar con el servidor. Si no selecciona Requerir SSL y el servidor no admite SSL, sigue pudiendo conectar con el servidor sin utilizar SSL. Para obtener más información, consulte Configurar MySQL para usar conexiones seguras.

      • Verificar certificado de servidor: seleccione esta opción para verificar el certificado del servidor mediante un almacén de confianza.

      • Almacén de confianza: la ubicación de un almacén de confianza que contenga certificados.

      Almacenar contraseña

      AWS SCT crea un almacén seguro para almacenar certificados SSL y contraseñas de la base de datos. Puede habilitar esta opción para almacenar la contraseña de la base de datos y conectarse rápidamente a la base de datos sin necesidad de introducir la contraseña.

      Ruta del controlador de MySql

      Escriba la ruta al controlador que va a usar para conectarse a la base de datos de origen. Para obtener más información, consulte Instalación de controladores JDBC para AWS Schema Conversion Tool.

      Si almacena la ruta al controlador en la configuración global del proyecto, la ruta del controlador no aparecerá en el cuadro de diálogo de conexión. Para obtener más información, consulte Almacenamiento de rutas a los controladores en la configuración global.

  5. Seleccione Probar la conexión para verificar que AWS SCT pueda conectarse a su base de datos de origen.

  6. Seleccione Conectar para conectarse a su base de datos de origen.

Privilegios para PostgreSQL como base de datos de destino

Para utilizar PostgreSQL como destino, AWS SCT requiere el privilegio CREATE ON DATABASE. Asegúrese de conceder este privilegio a cada base de datos PostgreSQL de destino.

Para usar los sinónimos públicos convertidos, cambie la ruta de búsqueda predeterminada de la base de datos a "$user", public_synonyms, public.

Puede usar el siguiente ejemplo de código para crear un usuario de base de datos y conceder los privilegios.

CREATE ROLE user_name LOGIN PASSWORD 'your_password'; GRANT CREATE ON DATABASE db_name TO user_name; ALTER DATABASE db_name SET SEARCH_PATH = "$user", public_synonyms, public;

En el ejemplo anterior, sustituya user_name por el nombre del usuario. A continuación, sustituya db_name por el nombre de su base de datos de destino. Por último, sustituya your_password por una contraseña segura.

En PostgreSQL, solo el propietario de un esquema o un superuser puede anular un esquema. El propietario puede eliminar un esquema y todos los objetos que incluye este esquema, aunque el propietario del esquema no sea propietario de algunos de los objetos.

Si utiliza distintos usuarios para convertir y aplicar diferentes esquemas a la base de datos de destino, es posible que aparezca un mensaje de error cuando AWS SCT no pueda anular un sistema. Para evitar este mensaje de error, utilice el rol de superuser.