MySQL en Amazon RDS - Amazon Relational Database Service

MySQL en Amazon RDS

Amazon RDS admite instancias de bases de datos que ejecutan varias versiones de MySQL. Puede utilizar las siguientes versiones principales:

  • MySQL 8.0

  • MySQL 5.7

  • MySQL 5.6

  • MySQL 5.5

Para obtener más información acerca de la compatibilidad con las versiones secundarias, consulte Versiones de MySQL en Amazon RDS.

En primer lugar, debe utilizar las interfaces o las herramientas de administración de Amazon RDS para crear una instancia de base de datos MySQL en Amazon RDS. A continuación, puede cambiar el tamaño de la instancia de base de datos, autorizar conexiones a la instancia de base de datos, crear y restaurar copias de seguridad o instantáneas, crear implementaciones Multi-AZ secundarios, crear réplicas de lectura y monitorear el rendimiento de la instancia de base de datos. Puede utilizar las utilidades y aplicaciones estándar de MySQL para almacenar y obtener acceso a los datos de la instancia de base de datos.

Amazon RDS para MySQL cumple con muchos estándares del sector. Por ejemplo, puede utilizar las bases de datos de Amazon RDS para MySQL para crear aplicaciones compatibles con HIPAA y para almacenar información relacionada con la sanidad, que incluye información sanitaria protegida (PHI) bajo un Acuerdo para socio empresarial (BAA) con AWS. Amazon RDS para MySQL también cumple los requisitos de seguridad del programa Federal Risk and Authorization Management Program (FedRAMP) y ha recibido una autorización provisional para operar (P-ATO) de la Junta de Autorización Conjunta (JAB) de FedRAMP en la referencia FedRAMP HIGH dentro de la región AWS GovCloud (EE.UU. Oeste). Para obtener más información acerca de los estándares de conformidad admitidos, consulte Conformidad en la nube de AWS.

Para obtener más información sobre las características de cada versión de MySQL, consulte The Main Features of MySQL en la documentación de MySQL.

Tareas de administración comunes para MySQL en Amazon RDS

A continuación se detallan las tareas de administración comunes que se realizan para una instancia de base de datos MySQL en Amazon RDS, con enlaces a la documentación relativa a cada tarea.

Área de la tarea Documentación relacionada

Descripción de Amazon RDS

Familiarícese con los componentes clave de Amazon RDS, como las instancias de bases de datos, regiones de AWS, zonas de disponibilidad, grupos de seguridad, grupos de parámetros y grupos de opciones.

¿Qué es Amazon Relational Database Service (Amazon RDS)?

Configuración de Amazon RDS para el primer uso

Configure Amazon RDS para poder crear instancias de bases de datos MySQL en Amazon Web Services (AWS).

Configuración de Amazon RDS

Descripción de las instancias de base de datos de Amazon RDS

Cree instancias virtuales de servidor de MySQL que se ejecutan en AWS. Como las instancias de bases de datos son los componentes básicos de Amazon RDS, recomendamos que se familiarice con sus principios.

Instancias de base de datos de Amazon RDS

Creación de una instancia de base de datos para la producción

Cree una instancia de base de datos con fines de producción. La creación de una instancia incluye elegir una clase de instancia de base de datos con la capacidad de procesamiento y de memoria adecuada y elegir un tipo de almacenamiento adecuado para la manera en la que espera utilizar la base de datos.

Clases de instancia de base de datos

Tipos de almacenamiento de Amazon RDS

Creación de una instancia de base de datos de Amazon RDS

Gestión de la seguridad de la instancia de base de datos.

De manera predeterminada, las instancias de base de datos se crean con un firewall que impide el acceso a ellas. Debe crear un grupo de seguridad con la dirección IP y la configuración de red correctas para obtener acceso a la instancia de base de datos. También puede utilizar políticas de AWS Identity and Access Management (IAM) para asignar permisos que determinen quién puede administrar los recursos de RDS.

Seguridad en Amazon RDS

Administración de acceso mediante políticas

Control de acceso con grupos de seguridad

Describe cómo determinar si se está utilizando la plataforma EC2-VPC o EC2-Classic.

Conexión a la instancia de base de datos

Conéctese a la instancia de base de datos utilizando una aplicación cliente estándar de SQL como la utilidad de línea de comandos de MySQL o MySQL Workbench.

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

Configuración de alta disponibilidad para una instancia de base de datos de producción

Proporcione alta disponibilidad con replicación síncrona en espera en otra zona de disponibilidad, conmutación por error automática, tolerancia a errores para las instancias de bases de datos mediante implementaciones Multi-AZ y réplicas de lectura.

Alta disponibilidad (Multi-AZ) para Amazon RDS

Configuración de una instancia de base de datos en una Amazon Virtual Private Cloud

Configure una Virtual Private Cloud (VPC) en el servicio Amazon VPC. Una Amazon VPC es una red virtual aislada lógicamente de otras redes virtuales de AWS.

Describe cómo determinar si se está utilizando la plataforma EC2-VPC o EC2-Classic.

Uso de una instancia de base de datos en una VPC

Configuración de características y parámetros específicos para las bases de datos MySQL

Configure los parámetros específicos para las bases de datos MySQL con un grupo de parámetros que se puede asociar a muchas instancias de bases de datos. También puede configurar características específicas para las bases de datos MySQL con un grupo de opciones que puede asociarse a muchas instancias de bases de datos.

Trabajo con los grupos de parámetros de base de datos

Trabajo con grupos de opciones

Opciones para las instancias de bases de datos MySQL

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

Cambie la configuración de una instancia de base de datos para realizar tareas tales como añadir almacenamiento adicional o cambiar la clase de instancia de base de datos.

Modificación de una instancia de base de datos de Amazon RDS

Configuración de backup y restauración de bases de datos

Configure la instancia de base de datos para que realice backups automatizados. También puede realizar una copia de seguridad y restaurar las bases de datos manualmente utilizando archivos de backup completos.

Trabajo con copias de seguridad

Copia de seguridad y restauración de una instancia de base de datos de Amazon RDS

Importación y exportación de datos

Importe datos desde otras instancias de bases de datos MySQL en RDS, desde instancias MySQL externas a Amazon RDS o desde otros tipos de orígenes de datos y exporte datos a instancias MySQL externas a Amazon RDS.

Restauración de una copia de seguridad en una instancia de base de datos MySQL en Amazon RDS

Monitorización de una instancia de base de datos MySQL

Monitorice la instancia de base de datos MySQL en RDS mediante las métricas, los eventos y la monitorización mejorada de Amazon CloudWatch RDS. Vea archivos de log para la instancia de base de datos MySQL en RDS.

Monitoreo de una instancia de base de datos de Amazon RDS

Visualización de métricas de una instancia de base de datos

Consulta de eventos de Amazon RDS

Archivos de registro de base de datos de Amazon RDS

Archivos de registro de base de datos de MySQL

Replicación de los datos

Cree una réplica de lectura de MySQL en la misma región de AWS o en una distinta. Puede utilizar las réplicas de lectura para el equilibrio de carga, la recuperación de desastres y el procesamiento de cargas de trabajo de base de datos con un uso intensivo de operaciones de lectura como, por ejemplo, el análisis y la realización de informes.

Trabajo con réplicas de lectura

Replicación con una instancia de base de datos MySQL o MariaDB que se ejecuta fuera de Amazon RDS

También existen varias secciones con información útil acerca de cómo utilizar instancias de bases de datos MySQL en Amazon RDS:

Versiones de MySQL en Amazon RDS

Para MySQL, los números de versión se organizan como versión = X.Y.Z. En la terminología de Amazon RDS, X.Y denota la versión principal y Z es el número de la versión secundaria. Para implementaciones de Amazon RDS, un cambio de versión se considera importante si el número de versión principal cambia, por ejemplo, pasando de la versión 5.6 a 5.7. Un cambio de versión se considera menor si solo la versión menor cambia, por ejemplo, pasando de la versión 5.7.16 a 5.7.21.

Amazon RDS admite actualmente las siguientes versiones de MySQL:

Versión principal Versión secundaria

MySQL 8.0

  • 8.0.21

  • 8.0.20

  • 8.0.19

  • 8.0.17

  • 8.0.16

  • 8.0.15

  • 8.0.13

  • 8.0.11

MySQL 5.7

  • 5.7.31

  • 5.7.30

  • 5.7.28

  • 5.7.26

  • 5.7.25

  • 5.7.24

  • 5.7.23

  • 5.7.22

  • 5.7.21

  • 5.7.19

  • 5.7.17

  • 5.7.16

MySQL 5.6

  • 5.6.48

  • 5.6.46

  • 5.6.44

  • 5.6.43

  • 5.6.41

  • 5.6.40

  • 5.6.39

  • 5.6.37

  • 5.6.35

  • 5.6.34

MySQL 5.5

  • 5.5.61

  • 5.5.59

  • 5.5.57

  • 5.5.54

  • 5.5.53

  • 5.5.46

Puede especificar cualquier versión admitida actualmente de MySQL al crear una nueva instancia de base de datos. Puede especificar la versión principal (como MySQL 5.7) y cualquier versión secundaria admitida para la versión principal especificada. Si no se especifica ninguna versión, Amazon RDS cambia de forma predeterminada a una versión admitida, normalmente la más reciente. Si se especifica una versión principal pero no una versión secundaria, Amazon RDS usa de manera predeterminada una versión reciente de la versión principal especificada. Para ver una lista de las versiones admitidas, así como de las versiones predeterminadas para instancias de bases de datos recién creadas, utilice el comando describe-db-engine-versions de la AWS CLI.

La versión predeterminada de MySQL puede variar según la región de AWS. Para crear una instancia de base de datos con una versión secundaria concreta, especifique la versión secundaria durante la creación de la instancia de base de datos. Puede determinar la versión secundaria predeterminada para una región de AWS mediante el siguiente comando de la AWS CLI:

aws rds describe-db-engine-versions --default-only --engine mysql --engine-version major-engine-version --region region --query "*[].{Engine:Engine,EngineVersion:EngineVersion}" --output text

Reemplace major-engine-version por la versión principal del motor y reemplace region por la región de AWS. Por ejemplo, el siguiente comando de la AWS CLI devuelve la versión predeterminada del motor secundario de MySQL para la versión principal 5.7 y la región de AWS EE.UU. Oeste (Oregón) (us-west-2):

aws rds describe-db-engine-versions --default-only --engine mysql --engine-version 5.7 --region us-west-2 --query '*[].{Engine:Engine,EngineVersion:EngineVersion}' --output text

Con Amazon RDS, puede controlar cuándo se actualiza una instancia de MySQL a una nueva versión principal admitida por Amazon RDS. Puede mantener la compatibilidad con versiones específicas de MySQL, probar nuevas versiones con una aplicación antes de implementarlas en producción y realizar las actualizaciones de versiones principales en el momento que le resulte más conveniente.

Cuando se habilita la actualización automática de versiones secundarias, la instancia de base de datos se actualizará automáticamente a las nuevas versiones secundarias de MySQL a medida que sean compatibles con Amazon RDS. Los parches se instalan durante el periodo de mantenimiento programado. Puede modificar una instancia de base de datos para habilitar o desactivar actualizaciones automáticas de versiones secundarias.

Si desactiva las actualizaciones programadas automáticamente, puede actualizar manualmente a una versión secundaria admitida siguiendo el mismo procedimiento que utilizaría para una actualización de la versión principal. Para obtener información, consulte Actualización de una versión del motor de una instancia de base de datos .

Amazon RDS admite las actualizaciones de la versión principal 5.5 a 5.6 de MySQL, de la versión 5.6 a 5.7 de MySQL y de la versión 5.7 a la 8.0 de MySQL. Debido a que las actualizaciones de la versión principal implican cierto riesgo de compatibilidad, no se realizan automáticamente; debe realizar una solicitud para modificar la instancia de base de datos. Debe probar exhaustivamente cualquier actualización antes de actualizar las instancias de producción. Para obtener información acerca de la actualización de una instancia de base de datos MySQL, consulte Actualización del motor de base de datos MySQL.

Puede probar una instancia de base de datos con una nueva versión antes de actualizar. Para ello, cree una instantánea de base de datos a partir de su instancia de base de datos, restaure luego desde la instantánea de base de datos para crear una nueva instancia de base de datos e inicie a continuación una actualización de versión para la nueva instancia de base de datos. Puede experimentar con seguridad en el clon actualizado de la instancia de base de datos antes de decidir si debe o no actualizar la instancia de base de datos original.

Para obtener información sobre la política de obsolescencia de Amazon RDS para MySQL, consulte las preguntas frecuentes sobre Amazon RDS.

Características de MySQL que no admite Amazon RDS

Amazon RDS no admite actualmente las siguientes características de MySQL:

  • Complemento de autenticación

  • Registro de errores en el registro del sistema

  • Complemento de replicación de grupo

  • Cifrado de espacio de tabla de InnoDB

  • Complemento de auditoría de MariaDB (no es compatible para Amazon RDS para MySQL versión 8.0 solamente).

    El complemento de auditoría de MariaDB es compatible para Amazon RDS para MySQL versiones 5.5, 5.6 y 5.7.

  • Complemento de nivel de seguridad de las contraseñas

  • Variables persistentes del sistema

  • Filtros de replicación

  • Replicación semisíncrona

  • Espacio de tabla transportable

  • Complemento X

nota

Los ID de transacciones globales son compatibles con MySQL 5.7.23 y versiones de MySQL 5.7 posteriores. Los ID de transacciones globales no son compatibles con Amazon RDS para MySQL 5.5, 5.6 u 8.0.

Se admite la autenticación de bases de datos IAM para MySQL 5.6, 5.7 y 8.0. No se admite la autenticación de bases de datos de IAM para MySQL 5.5.

La información sobre rendimiento de Amazon RDS es compatible con MySQL 5.6, 5.7 y 8.0. La información sobre rendimiento de Amazon RDS no es compatible con MySQL 5.5.

Para ofrecer una experiencia de servicio administrado, Amazon RDS no proporciona acceso mediante shell a las instancias de base de datos. También restringe el acceso a ciertos procedimientos y tablas del sistema que requieren privilegios avanzados. Amazon RDS permite el acceso a las bases de datos de una instancia de base de datos usando cualquier aplicación cliente de SQL estándar. Amazon RDS no permite el acceso de host directo a una instancia de base de datos a través de Telnet, Secure Shell (SSH) o conexión de escritorio remoto de Windows. Cuando se crea una instancia de base de datos, se obtiene el rol db_owner para todas las bases de datos de esa instancia y todos los permisos de nivel de base de datos, excepto los utilizados para las copias de seguridad. Amazon RDS administra las copias de seguridad automáticamente.

Motores de almacenamiento admitidos para MySQL en Amazon RDS

Aunque MySQL admite varios motores de almacenamiento con diversas capacidades, no todos están optimizados para la recuperación y la durabilidad de los datos. Amazon RDS es totalmente compatible con el motor de almacenamiento InnoDB para las instancias de bases de datos MySQL. Características de Amazon RDS tales como la restauración a un momento dado y la restauración de instantáneas requieren un motor de almacenamiento recuperable y solo se admiten en el motor de almacenamiento InnoDB. Debe estar ejecutando una instancia de MySQL 5.6 o posterior para utilizar la interfaz memcached de InnoDB. Para obtener más información, consulte Compatibilidad con memcached para MySQL.

Actualmente, Amazon RDS no admite el motor de almacenamiento federado para MySQL.

Para los esquemas creados por el usuario, el motor de almacenamiento MyISAM no admite la recuperación fiable y puede dar lugar a datos perdidos o dañados cuando se reinicia MySQL después de una recuperación, lo que evita que la restauración a un momento dado o la restauración de instantáneas funcionen según lo previsto. Si, a pesar de ello, decide usar MyISAM con Amazon RDS, las instantáneas pueden ser útiles en determinadas condiciones.

nota

Las tablas del sistema del esquema mysql pueden residir en el almacenamiento MyISAM.

Si desea convertir las tablas de MyISAM en tablas de InnoDB, puede usar el comando ALTER TABLE (por ejemplo, alter table TABLE_NAME engine=innodb;). Tenga en cuenta que MyISAM e InnoDB tienen diferentes puntos fuertes y débiles, por lo que debe evaluar completamente el impacto de este cambio en sus aplicaciones antes de realizarlo.

MySQL 5.1 ya no se admite en Amazon RDS. Sin embargo, puede restaurar instantáneas de MySQL 5.1 existentes. Cuando se restaura una instantánea de MySQL 5.1, la instancia se actualiza automáticamente a MySQL 5.5.

Seguridad de MySQL en Amazon RDS

La seguridad de las instancias de bases de datos MySQL en Amazon RDS se administra en tres niveles:

  • AWS Identity and Access Management controla quién puede realizar acciones de administración de Amazon RDS en las instancias de base de datos. Cuando se conecta a AWS con credenciales de IAM, la cuenta de IAM debe tener políticas de IAM que otorguen los permisos necesarios para realizar operaciones de administración de Amazon RDS. Para obtener más información, consulte Administración de identidades y accesos en Amazon RDS.

  • Al crear una instancia de base de datos, se usa un grupo de seguridad de VPC o un grupo de seguridad de base de datos para controlar qué dispositivos e instancias Amazon EC2 pueden abrir conexiones al punto de enlace y al puerto de la instancia de base de datos. Estas conexiones se pueden realizar por medio de la Capa de conexión segura (SSL). Además, las reglas del firewall de su compañía pueden controlar si los dispositivos que se ejecutan en ella pueden abrir conexiones a la instancia de base de datos.

  • Para autenticar el inicio de sesión y los permisos de una instancia de base de datos MySQL, puede utilizar cualquiera de los siguientes procedimientos o una combinación de ellos.

    Puede seguir el mismo procedimiento que con una instancia independiente de MySQL. Los comandos como CREATE USER, RENAME USER, GRANT, REVOKE y SET PASSWORD funcionan de la misma forma que en las bases de datos locales, al igual que la modificación directa de las tablas de los esquemas de las bases de datos. Para obtener más información, consulte Access Control and Account Management en la documentación de MySQL.

    También puede utilizar la autenticación de base de datos de IAM. Si se utiliza la autenticación de bases de datos de IAM, la autenticación en la instancia de base de datos se realiza mediante un usuario o un rol de IAM y un token de autenticación. Un token de autenticación es un valor único que se genera utilizando el proceso de firma Signature Version 4. Al utilizar la autenticación de base de datos de IAM, puede usar las mismas credenciales para controlar el acceso a los recursos de AWS y a sus bases de datos. Para obtener más información, consulte Autenticación de bases de datos de IAM para MySQL y PostgreSQL.

Cuando se crea una instancia de base de datos de Amazon RDS, el usuario maestro tiene los siguientes privilegios predeterminados:

  • alter

  • alter routine

  • create

  • create routine

  • create temporary tables

  • create user

  • create view

  • delete

  • drop

  • event

  • execute

  • grant option

  • index

  • insert

  • lock tables

  • process

  • references

  • replication client

  • replication slave (MySQL 5.6 and later)

  • select

  • show databases

  • show view

  • trigger

  • update

nota

Aunque es posible eliminar el usuario maestro de la instancia de base de datos, no se recomienda. Para volver a crear el usuario maestro, utilice la operación ModifyDBInstance de la API de RDS o el comando modify-db-instance de la AWS CLI y especifique una nueva contraseña del usuario maestro con el parámetro apropiado. Si no existe el usuario maestro en la instancia, se crea con la contraseña especificada.

Para proporcionar servicios de administración para cada instancia de base de datos, se crea el usuario rdsadmin al crear la instancia de base de datos. Al intentar eliminar, cambiar de nombre, cambiar la contraseña o cambiar los privilegios de la cuenta rdsadmin, se producirá un error.

Para permitir la administración de la instancia de base de datos, los comandos estándar kill y kill_query se han restringido. Se proporcionan los comandos de Amazon RDS rds_kill y rds_kill_query para permitir finalizar las sesiones de usuario o las consultas en las instancias de bases de datos.

Uso del complemento de validación de contraseñas

MySQL proporciona el complemento validate_password para ofrecer una seguridad mejorada. El complemento aplica políticas de contraseña mediante parámetros en el grupo de parámetros de base de datos para su instancia de base de datos de MySQL. El complemento es compatible con instancias de base de datos que ejecutan las versiones 5.6, 5.7 y 8.0 de MySQL. Para obtener más información sobre el complemento validate_password, consulte The Password Validation Plugin en la documentación de MySQL.

Para habilitar el complemento de validación de contraseñas para una instancia de base de datos de MySQL, realice el siguiente procedimiento:

  1. Conéctese a la instancia de MySQL DB y ejecute el siguiente comando.

    INSTALL PLUGIN validate_password SONAME 'validate_password.so';
  2. Configure los parámetros para el complemento en el grupo de parámetros de base de datos que utiliza la instancia de base de datos.

    Para obtener más información acerca de los parámetros, consulte Password Validation Plugin Options and Variables en la documentación de MySQL.

    Para obtener información sobre cómo modificar los parámetros de la instancia de base de datos, consulte Modificación de parámetros de un grupo de parámetros de base de datos.

Después de instalar y habilitar el complemento password_validate, restablezca las contraseñas existentes para cumplir con las nuevas políticas de validación.

Amazon RDS no valida contraseñas. La instancia de base de datos de MySQL DB realiza la validación de contraseñas. Si establece una contraseña de usuario con la Consola de administración de AWS, el comando de la AWS CLI modify-db-instance o la operación de la API de RDS ModifyDBInstance, puede realizarse el cambio correctamente incluso si la nueva contraseña no cumple con las políticas de contraseña. Sin embargo, se establece una nueva contraseña en la instancia de base de datos de MySQL solo si cumple las políticas de contraseña. En ese caso, Amazon RDS registra el siguiente evento.

"RDS-EVENT-0067" - An attempt to reset the master password for the DB instance has failed.

Para obtener más información acerca de los eventos de Amazon RDS, consulte Uso de las notificaciones de eventos de Amazon RDS.

Uso de SSL con una instancia de base de datos MySQL

Amazon RDS admite conexiones de Capa de conexión segura (SSL) con instancias de bases de datos que ejecutan el motor de base de datos MySQL.

Amazon RDS crea un certificado de SSL e instala el certificado en la instancia de base de datos cuando Amazon RDS aprovisiona la instancia. Estos certificados están firmados por una autoridad de certificación. El certificado SSL incluye el punto de enlace de la instancia de base de datos como nombre común (CN) que el certificado de SSL debe proteger frente a los ataques de suplantación.

Un certificado SSL creado por Amazon RDS es la entidad raíz de confianza, y debería funcionar en la mayoría de los casos, pero podría fallar si la aplicación no acepta cadenas de certificados. Si la aplicación no acepta cadenas de certificados, es posible que tenga que utilizar un certificado intermedio para conectarse a la región de AWS. Por ejemplo, debe utilizar un certificado intermedio para conectarse a la región AWS GovCloud (EE.UU. Oeste) usando SSL.

Para obtener más información acerca de cómo descargar certificados, consulte Uso de SSL/TLS para cifrar una conexión a una instancia de base de datos. Para obtener más información acerca de cómo usar SSL con MySQL, consulte Actualización de aplicaciones para la conexión a las instancias de base de datos de MySQL con los nuevos certificados SSL/TLS.

MySQL utiliza yaSSL para las conexiones seguras en las versiones siguientes:

  • MySQL versión 5.7.19 y versiones 5.7 anteriores

  • MySQL versión 5.6.37 y versiones 5.6 anteriores

  • MySQL versión 5.5.57 y versiones 5.5 anteriores

MySQL utiliza OpenSSL para las conexiones seguras en las versiones siguientes:

  • MySQL versión 8.0

  • MySQL versión 5.7.21 y versiones 5.7 posteriores

  • MySQL versión 5.6.39 y versiones 5.6 posteriores

  • MySQL versión 5.5.59 y versiones 5.5 posteriores

Amazon RDS para MySQL es compatible con Transport Layer Security (TLS) versiones 1.0, 1.1 y 1.2. En la tabla siguiente se muestran la compatibilidad de TLS para versiones MySQL.

Versión de MySQL TLS 1.0 TLS 1.1 TLS 1.2

MySQL 8.0

Soportado

Soportado

Soportado

MySQL 5.7

Soportado

Soportado

Compatible con MySQL 5.7.21 y versiones posteriores

MySQL 5.6

Soportado

Compatible con MySQL 5.6.46 y versiones posteriores

Compatible con MySQL 5.6.46 y versiones posteriores

MySQL 5.5

Soportado

No admitido

No admitido

Para cifrar las conexiones con el cliente de mysql predeterminado, lance el cliente de mysql usando el parámetro --ssl-ca para hacer referencia a la clave pública como se muestra en los siguientes ejemplos.

En el siguiente ejemplo, se muestra cómo lanzar un cliente con el parámetro --ssl-ca para MySQL 5.7 y versiones posteriores.

mysql -h myinstance.c9akciq32.rds-us-east-1.amazonaws.com --ssl-ca=[full path]rds-combined-ca-bundle.pem --ssl-mode=VERIFY_IDENTITY

En el siguiente ejemplo, se muestra cómo lanzar un cliente con el parámetro --ssl-ca para MySQL 5.6 y versiones anteriores.

mysql -h myinstance.c9akciq32.rds-us-east-1.amazonaws.com --ssl-ca=[full path]rds-combined-ca-bundle.pem --ssl-verify-server-cert

Puede exigir conexiones SSL para determinadas cuentas de usuarios. Por ejemplo, puede utilizar una de las siguientes declaraciones, dependiendo de su versión de MySQL, para exigir el uso de conexiones SSL en la cuenta de usuario encrypted_user.

Para MySQL 5.7 y versiones posteriores, utilice la siguiente instrucción.

ALTER USER 'encrypted_user'@'%' REQUIRE SSL;

Para MySQL 5.6 y versiones anteriores, utilice la siguiente instrucción.

GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL;

Para obtener más información acerca de las conexiones SSL con MySQL, consulte Using Encrypted Connections en la documentación de MySQL.

Uso de memcached y otras opciones con MySQL

La mayoría de los motores de bases de datos de Amazon RDS admiten grupos de opciones que permiten seleccionar características adicionales para una instancia de base de datos. Las instancias de bases de datos MySQL versión 5.6 y posteriores admiten la opción memcached, una caché sencilla, basada en claves. Para obtener más información acerca de memcached y otras opciones, consulte Opciones para las instancias de bases de datos MySQL. Para obtener más información acerca de cómo trabajar con grupos de opciones, consulte Trabajo con grupos de opciones.

Calentamiento de caché de InnoDB

El calentamiento de caché de InnoDB puede proporcionar ganancias de desempeño para la instancia de base de datos MySQL guardando el estado actual del grupo del búfer cuando se cierra la instancia de base de datos y volviendo a cargar el grupo del búfer a partir de la información guardada, cuando se inicia la instancia de base de datos. Esto omite la necesidad del grupo del búfer de "calentarse" con el uso normal de la base de datos y, en su lugar, precarga el grupo del búfer con las páginas de las consultas comunes conocidas. El archivo que almacena la información guardada del grupo del búfer solo almacena metadatos para las páginas que están en el grupo del búfer y no las páginas propiamente dichas. Por este motivo, el archivo no requiere mucho espacio de almacenamiento. El tamaño del archivo es de aproximadamente un 0,2% del tamaño de la caché. Por ejemplo, para una caché de 64 GiB, el tamaño del archivo de calentamiento de caché es de 128 MiB. Para obtener más información acerca del calentamiento de caché de InnoDB, consulte Saving and Restoring the Buffer Pool State en la documentación de MySQL.

MySQL en Amazon RDS admite el calentamiento de caché de InnoDB para MySQL versión 5.6 y versiones posteriores. Para activar el calentamiento de caché de InnoDB, establezca los parámetros innodb_buffer_pool_dump_at_shutdown e innodb_buffer_pool_load_at_startup en 1 en el grupo de parámetros de la instancia de base de datos. Si se cambian los valores de estos parámetros en un grupo de parámetros, todas las instancias de bases de datos MySQL que utilicen ese grupo de parámetros resultarán afectadas. Para activar el calentamiento de caché de InnoDB para instancias de bases de datos MySQL específicas, es posible que deba crear un nuevo grupo de parámetros para esas instancias. Para obtener información acerca de los grupos de parámetros, consulte Trabajo con los grupos de parámetros de base de datos.

El calentamiento de caché de InnoDB proporciona principalmente un beneficio de desempeño para las instancias de bases de datos que utilizan almacenamiento estándar. Si utiliza almacenamiento PIOPS, normalmente no se observa un beneficio de desempeño significativo.

importante

Si la instancia de base de datos MySQL no se cierra de forma normal como, por ejemplo, durante una conmutación por error, el estado del grupo del búfer no se guardará en el disco. En este caso, MySQL carga cualquier archivo de grupo del búfer que esté disponible cuando se reinicia la instancia de base de datos. Esto no es perjudicial, pero el grupo del búfer restaurado podría no reflejar el estado más reciente del grupo del búfer antes del reinicio. Para asegurarse de que tiene un estado reciente del grupo del búfer disponible para calentar la caché de InnoDB al iniciar, recomendamos que vuelque periódicamente el grupo del búfer "bajo demanda". Puede volcar o cargar el grupo del búfer bajo demanda si la instancia de base de datos está ejecutando MySQL versión 5.6.19 o versiones posteriores.

Puede crear un evento para volcar el grupo del búfer automáticamente de forma periódica. Por ejemplo, la siguiente instrucción crea un evento denominado periodic_buffer_pool_dump que vuelca el grupo del búfer cada hora.

CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();

Para obtener más información acerca de los eventos de MySQL, consulte Event Syntax en la documentación de MySQL.

Volcado y carga del grupo del búfer bajo demanda

Para MySQL versión 5.6.19 y versiones posteriores, puede guardar y cargar la caché de InnoDB "bajo demanda".

Zona horaria local para las instancias de bases de datos MySQL

De manera predeterminada, la zona horaria para una instancia de base de datos MySQL en RDS es el horario universal coordinado (UTC). En su lugar, puede definir la zona horaria de su instancia de base de datos en la zona horaria local de su aplicación.

Para definir la zona horaria local para una instancia de base de datos, configure el parámetro time_zone del grupo de parámetros de la instancia de base de datos en uno de los valores admitidos que se indican más adelante en esta sección. Al configurar el parámetro time_zone de un grupo de parámetros, todas las instancias de base de datos y réplicas de lectura que utilizan ese grupo de parámetros cambian para utilizar la nueva zona horaria local. Para obtener información acerca de cómo configurar los parámetros de un grupo de parámetros, consulte Trabajo con los grupos de parámetros de base de datos.

Después de definir la zona horaria local, todas las conexiones nuevas con la base de datos reflejarán el cambio. Si tiene alguna conexión con la base de datos abierta al cambiar la zona horaria local, no verá la actualización de la zona horaria local hasta que cierre la conexión y abra una nueva conexión.

Puede definir una zona horaria local diferente para una instancia de base de datos y una o varias de sus réplicas de lectura. Para ello, utilice un grupo de parámetros diferente para la instancia de base de datos y para la réplica o las réplicas y establezca el parámetro time_zone de cada grupo de parámetros en una zona horaria local distinta.

Si está replicando entre varias regiones de AWS, la instancia de base de datos de origen y la réplica de lectura usan distintos grupos de parámetros (los grupos de parámetros son únicos para cada región de AWS). Para usar la misma zona horaria local para cada instancia, debe configurar el parámetro time_zone en los grupos de parámetros de la instancia y de la réplica de lectura.

Cuando se restaura una instancia de base de datos desde una instantánea de base de datos, la zona horaria local se define como UTC. Podrá actualizar la zona horaria a su zona horaria local una vez que se haya completado la restauración. Si restaura una instancia de base de datos a un momento dado, la zona horaria local de la instancia de base de datos restaurada será el ajuste de zona horaria del grupo de parámetros de la instancia de base de datos restaurada.

Puede definir su zona horaria local en uno de los valores siguientes.

Africa/Cairo

Asia/Bangkok

Australia/Darwin

Africa/Casablanca

Asia/Beirut

Australia/Hobart

Africa/Harare

Asia/Calcutta

Australia/Perth

Africa/Monrovia

Asia/Damascus

Australia/Sydney

Africa/Nairobi

Asia/Dhaka

Brazil/East

Africa/Tripoli

Asia/Irkutsk

Canada/Newfoundland

Africa/Windhoek

Asia/Jerusalem

Canada/Saskatchewan

America/Araguaina

Asia/Kabul

Europe/Amsterdam

America/Asuncion

Asia/Karachi

Europe/Athens

America/Bogota

Asia/Kathmandu

Europe/Dublin

America/Caracas

Asia/Krasnoyarsk

Europe/Helsinki

America/Chihuahua

Asia/Magadan

Europe/Istanbul

America/Cuiaba

Asia/Muscat

Europe/Kaliningrad

America/Denver

Asia/Novosibirsk

Europe/Moscow

America/Fortaleza

Asia/Riyadh

Europe/Paris

America/Guatemala

Asia/Seoul

Europe/Prague

America/Halifax

Asia/Shanghai

Europe/Sarajevo

America/Manaus

Asia/Singapore

Pacific/Auckland

America/Matamoros

Asia/Taipei

Pacific/Fiji

America/Monterrey

Asia/Tehran

Pacific/Guam

America/Montevideo

Asia/Tokyo

Pacific/Honolulu

America/Phoenix

Asia/Ulaanbaatar

Pacific/Samoa

America/Santiago

Asia/Vladivostok

US/Alaska

America/Tijuana

Asia/Yakutsk

US/Central

Asia/Amman

Asia/Yerevan

US/Eastern

Asia/Ashgabat

Atlantic/Azores

US/East-Indiana

Asia/Baghdad

Australia/Adelaide

US/Pacific

Asia/Baku

Australia/Brisbane

UTC

Problemas conocidos y limitaciones para MySQL en Amazon RDS

Hay algunos problemas conocidos y limitaciones para el uso de MySQL en Amazon RDS. Para obtener más información, consulte Problemas conocidos y limitaciones para MySQL en Amazon RDS.