Conexión a una instancia de base de datos que ejecuta el motor de base de datos de MySQL - Amazon Relational Database Service

Conexión a una instancia de base de datos que ejecuta el motor de base de datos de MySQL

Antes de conectar a una instancia de base de datos que ejecute el motor de base de datos MySQL, debe crear a una instancia de base de datos. Para obtener información, consulte Creación de una instancia de base de datos de Amazon RDS. Después de que Amazon RDS aprovisione una instancia de base de datos, puede usar cualquier utilidad o aplicación cliente estándar de MySQL para conectarse a la instancia. En la cadena de conexión, especifique la dirección DNS del punto de enlace de la instancia de base de datos como parámetro del host y especifique el número de puerto del punto de enlace de la instancia de base de datos como parámetro del puerto.

Para autenticarse en la instancia de base de datos de RDS, puede usar uno de los métodos de autenticación de MySQL y la autenticación de base de datos AWS Identity and Access Management (IAM).

Puede conectarse a una instancia de base de datos de MySQL con herramientas como la utilidad de línea de comandos de MySQL. Para obtener más información sobre el uso de la utilidad de línea de comandos d MySQL, consulte mysql - the MySQL command-line client en la documentación de MySQL. MySQL Workbench es una de las aplicaciones basadas en interfaz gráfica de usuario (GUI) que puede utilizar para conectarse. Para obtener más información, consulte la página Download MySQL Workbench. Para obtener información sobre la instalación de MySQL (incluida la utilidad de línea de comandos de MySQL), consulte Installing and upgrading MySQL (Instalación y actualización de MySQL).

La mayoría de las distribuciones de Linux incluyen el cliente MariaDB en lugar del cliente Oracle MySQL. Para instalar el cliente de línea de comandos de MySQL en Amazon Linux 2023, ejecute el siguiente comando:

sudo dnf install mariadb105

Para instalar el cliente de línea de comandos de MySQL en Amazon Linux 2, ejecute el siguiente comando:

sudo yum install mariadb

Para instalar la utilidad de línea de comandos de MySQL en la mayoría de las distribuciones Linux basadas en DEB, ejecute el siguiente comando:

apt-get install mariadb-client

Para verificar la versión de la utilidad de línea de comandos de MySQL, ejecute el siguiente comando:

mysql --version

Para leer la documentación de MySQL de la versión actual del cliente, ejecute el siguiente comando:

man mysql

Para conectarse a una instancia de base de datos desde fuera de su Amazon VPC, la instancia de base de datos debe ser accesible públicamente, el acceso debe concederse mediante las reglas entrantes del grupo de seguridad de la instancia de base de datos y deben cumplirse otros requisitos. Para obtener más información, consulte No puede conectarse a la instancia de base de datos de Amazon RDS.

Puede utilizar el cifrado de la capa de sockets seguros (SSL) o de la seguridad de la capa de transporte (TLS) en las conexiones a una instancia de base de datos MySQL. Para obtener más información, consulte Uso de SSL/TLS con una instancia de base de datos MySQL. Si está utilizando la autenticación de base de datos AWS Identity and Access Management (IAM), asegúrese de utilizar una conexión SSL/TLS. Para obtener información, consulte Autenticación de bases de datos de IAM para MariaDB, MySQL, and PostgreSQL.

También puede conectarse a una instancia de base de datos desde un servidor web. Para obtener más información, consulte Explicación: crear un servidor web y una instancia de base de datos de Amazon RDS.

nota

Para obtener más información acerca de la conexión a una instancia de base de datos de MariaDB, consulte Conexión a una instancia de base de datos que ejecuta el motor de base de datos MariaDB.

Buscar la información de conexión para una instancia de base de datos MySQL

La información de conexión de una instancia de base de datos incluye su punto de enlace, puerto y un usuario de base de datos válido, como el usuario maestro. Por ejemplo, supongamos que un valor de punto de enlace es mydb.123456789012.us-east-1.rds.amazonaws.com. En este caso, el valor del puerto es 3306 y el usuario de la base de datos es admin. Dada esta información, se especifican los siguientes valores en una cadena de conexión:

  • Para nombre de host o host o nombre DNS, especifique mydb.123456789012.us-east-1.rds.amazonaws.com.

  • Para el puerto, especifique 3306.

  • Para el usuario, especifique admin.

Para conectarse a una instancia de base de datos, utilice cualquier cliente para un motor de base de datos de MySQL. Por ejemplo, puede usar la utilidad de línea de comandos de MySQL o MySQL Workbench.

Para buscar la información de conexión de una instancia de base de datos, puede utilizar la AWS Management Console, el comando de AWS CLI describe-db-instances o la operación de la API de Amazon RDS DescribeDBInstances para enumerar sus detalles.

Para buscar la información de conexión para una instancia de base de datos en AWS Management Console
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Databases (Bases de datos) para ver una lista de las instancias de base de datos.

  3. Seleccione el nombre de la instancia de base de datos MySQL para ver sus detalles.

  4. En la pestaña Connectivity & security (Conectividad y seguridad), copie el punto de enlace. También anote el número de puerto. Necesita el punto de enlace y el número de puerto para conectarse a la instancia de base de datos.

    
                                El punto de enlace y el puerto de una instancia de base de datos
  5. Si necesita encontrar el nombre de usuario maestro, elija la ficha Configuration (Configuración) y vea el valor de Master username (Nombre de usuario maestro) .

Para encontrar la información de conexión para una instancia de base de datos MySQL llame el AWS CLIcomando describe-db-instances . En la llamada, consulte el ID de instancia de base de datos, el punto de enlace, el puerto y el nombre de usuario maestro.

Para Linux, macOS, o Unix:

aws rds describe-db-instances \ --filters "Name=engine,Values=mysql" \ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

En Windows:

aws rds describe-db-instances ^ --filters "Name=engine,Values=mysql" ^ --query "*[].[DBInstanceIdentifier,Endpoint.Address,Endpoint.Port,MasterUsername]"

El resultado debería ser similar al siguiente.

[ [ "mydb1", "mydb1.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ], [ "mydb2", "mydb2.123456789012.us-east-1.rds.amazonaws.com", 3306, "admin" ] ]

Para buscar la información de conexión de una instancia de base de datos mediante la API Amazon RDS, llame a la operación DescribedBInstances . En el resultado, busque los valores de la dirección del punto de enlace, el puerto del punto de enlace y el nombre de usuario maestro.

Conexión desde la utilidad de línea de comandos de MySQL (sin cifrar)

importante

Utilice sólo una conexión MySQL sin cifrar cuando el cliente y el servidor están en la misma VPC y la red es de confianza. Para obtener información sobre el uso de de conexiones cifradas, consulte Conexión desde el cliente de la línea de comandos de MySQL con SSL/TLS (cifrado).

Para conectarse a una instancia de base de datos mediante la utilidad de línea de comandos de MySQL, ingrese el siguiente comando en un símbolo del sistema. Para el parámetro -h, escriba el nombre de DNS (punto de enlace) de la instancia de base de datos. Para el parámetro -P, utilice el puerto de la instancia de base de datos. Para el parámetro -u, sustituya el nombre de usuario de un usuario de base de datos válido, como el usuario maestro. Escriba la contraseña del usuario maestro cuando se le pida.

mysql -h mysql–instance1.123456789012.us-east-1.rds.amazonaws.com -P 3306 -u mymasteruser -p

Una vez especificada la contraseña del usuario, debería ver un resultado similar al siguiente.

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9738 Server version: 8.0.28 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

Conexión desde MySQL Workbench

Para conectar desde MySQL Workbench
  1. Descargue e instale MySQL Workbench en Download MySQL Workbench (Descargar MySQL Workbench).

  2. Abra MySQL Workbench.

    
                        MySQL Workbench
  3. En Database (Base de datos), elija Manage Connections (Administrar conexiones).

  4. En la ventana Manage Server Connections (Administrar conexiones de servidores) , elija New (Nueva).

  5. En la ventana Connect to Database (Conectar a base de datos), introduzca la información siguiente:

    • Stored Connection (Conexión almacenada): escriba un nombre para la conexión, como por ejemplo MyDB.

    • Hostname (Nombre de host): escriba el punto de enlace de instancia de base de datos.

    • Port (Puerto): escriba el puerto utilizado por la instancia de base de datos.

    • Username (Nombre de usuario)–: escriba el nombre de usuario de base de datos válido, como el usuario maestro.

    • Password (Contraseña): opcionalmente, elija Store in Vault (Guardar en almacén) y escriba y guarde la contraseña del usuario.

    La ventana tendrá un aspecto similar al siguiente.

    
                        Ventana de conexión de MySQL Workbench

    Puede utilizar las características de MySQL Workbench para personalizar las conexiones. Por ejemplo, puede utilizar la pestaña SSL para configurar las conexiones SSL/TLS. Para obtener información sobre el uso de MySQL Workbench, consulte la documentación de MySQL Workbench. Cifrado de conexiones de cliente con las instancias de base de datos MySQL con SSL/TLS; consulte Cifrado de conexiones de cliente con instancias de base de datos MySQL con SSL/TLS.

  6. Opcionalmente, elija Test Connection (Conexión de prueba) para confirmar que la conexión a la instancia de base de datos es correcta.

  7. Elija Close.

  8. En Database (Base de datos), elija Connect to Database (Conectar a base de datos).

  9. En Stored Connection (Conexión almacenada), elija la conexión.

  10. Seleccione OK.

Conexión con el controlador JDBC de Amazon Web Services para MySQL

AWS JDBC Driver para MySQL es un controlador de cliente diseñado para RDS for MySQL. De forma predeterminada, el controlador tiene una configuración optimizada para su uso con RDS para MySQL. Para obtener más información acerca del controlador y las instrucciones completas para usarlo, consulte el repositorio del controlador JDBC de AWS para MySQL GitHub.

El controlador es compatible con el controlador MySQL Connector/J. Para instalar o actualizar el conector, sustituya el archivo .jar del conector de MySQL (ubicado en la aplicación CLASSPATH) por el archivo .jar de AWS JDBC Driver para MySQL y actualice el prefijo de URL de conexión de jdbc:mysql:// a jdbc:mysql:aws://.

El controlador JDBC de AWS para MySQL admite la autenticación de base de datos de IAM. Para obtener más información, consulte Autenticación de base de IAM de AWS en el repositorio de GitHub del controlador JDBC de AWS para MySQL. Para obtener más información sobre la autenticación de bases de datos de IAM, consulte Autenticación de bases de datos de IAM para MariaDB, MySQL, and PostgreSQL.

Solución de problemas de conexiones a la instancia de base de datos MySQL

Hay dos causas frecuentes de errores de conexión a una nueva instancia de base de datos:

  • La instancia de base de datos se creó usando un grupo de seguridad que no autoriza las conexiones desde el dispositivo o la instancia Amazon EC2 en los que se está ejecutando la utilidad o la aplicación de MySQL. La instancia de base de datos debe tener un grupo de seguridad de VPC que autorice las conexiones. Para obtener más información, consulte VPC de Amazon y Amazon RDS.

    Puede añadir o editar una regla de entrada en el grupo de seguridad. Para Source (Origen), elija My IP (Mi IP). Esto permite el acceso a la instancia de base de datos desde la dirección IP detectada en su navegador.

  • La instancia de base de datos se creó con el puerto predeterminado 3306, y su compañía tiene reglas de firewall que bloquean las conexiones a ese puerto desde los dispositivos de la red de la organización. Para solucionar este error, vuelva a crear la instancia con un puerto diferente.

Para obtener más información sobre problemas de conexión, consulte No puede conectarse a la instancia de base de datos de Amazon RDS.