RDS para MySQL admite la mayoría de las características y capacidades de MySQL. Algunas características pueden disponer de una compatibilidad limitada o de privilegios restringidos.
Puede filtrar nuevas características de Amazon RDS en la página Novedades de DatabaseMySQL 2022
.
nota
Las listas que siguen no son exhaustivas.
Temas
Compatibilidad con características de MySQL en las versiones principales de Amazon RDS para MySQL
En las siguientes secciones, encontrará información sobre la compatibilidad de características de MySQL en las versiones principales de Amazon RDS para MySQL:
Para obtener información acerca de la compatibilidad de las versiones secundarias de Amazon RDS para MySQL, consulte Versiones secundarias de MySQL compatibles en Amazon RDS.
Compatibilidad con MySQL 8.4 en Amazon RDS
Amazon RDS admite las siguientes características nuevas de las instancias de base de datos en las que se ejecuta la versión MySQL 8.4 o una posterior.
-
Biblioteca criptográfica: RDS para MySQL ha sustituido a OpenSSL por AWS Libcrypto (AWS-LC), que cuenta con la certificación FIPS 140-3. Para obtener más información, consulte el repositorio de GitHub sobre AWS-LC en https://github.com/aws/aws-lc
. -
Cambios de TLS: RDS para MySQL solo admite TLS 1.2 y TLS 1.3. Para obtener más información, consulte Compatibilidad de SSL/TLS con instancias de bases de datos de MySQL en Amazon RDS.
-
Compatibilidad con memcached: la interfaz memcached ya no está disponible en MySQL 8.4. Para obtener más información, consulte Compatibilidad con memcached para MySQL.
-
Complemento de autenticación predeterminado: el complemento de autenticación predeterminado es
caching_sha2_password
. Para obtener más información, consulte Complemento de autenticación predeterminado de MySQL. -
Utilidad de cliente
mysqlpump
: la utilidad de clientemysqlpump
ya no está disponible en MySQL 8.4. Para obtener más información, consulte Modelo de privilegios basado en roles de RDS para MySQL y mysqldump y mysqlpump en Recomendaciones de AWS. -
Procedimientos de replicación administrada almacenados: cuando utilice procedimientos almacenados para administrar la replicación con un usuario de replicación configurado con
caching_sha2_password
, debe configurar TLS especificandoSOURCE_SSL=1
.caching_sha2_password
es el complemento de autenticación predeterminado de RDS para MySQL 8.4. -
Cambios en el comportamiento de los parámetros: se han modificado los siguientes parámetros para MySQL 8.4.
-
innodb_dedicated_server
: este parámetro está habilitado de forma predeterminada. Para obtener más información, consulte Configuración del tamaño del grupo de búferes y la capacidad de registros redo en MySQL 8.4. -
innodb_buffer_pool
: el motor de base de datos calcula ahora este parámetro, pero puede anular este ajuste. Para obtener más información, consulte Configuración del tamaño del grupo de búferes y la capacidad de registros redo en MySQL 8.4. -
innodb_redo_log_capacity
: este parámetro ahora controla el tamaño de los archivos de registro redo. El motor de base de datos calcula ahora este parámetro, pero puede anular este ajuste. Para obtener más información, consulte Configuración del tamaño del grupo de búferes y la capacidad de registros redo en MySQL 8.4.
-
-
Parámetros obsoletos o eliminados: RDS para MySQL ha eliminado los siguientes parámetros de los grupos de parámetros de las instancias de base de datos MySQL 8.4. El parámetro
innodb_redo_log_capacity
ahora controla el tamaño de los archivos de registro redo.-
innodb_log_file_size
-
innodb_log_files_in_group
-
-
Valores nuevos predeterminados para los parámetros: los siguientes parámetros tienen valores predeterminados nuevos para las instancias de base de datos de la versión 8.4 de MySQL:
-
Se han modificado varios parámetros de la comunidad MySQL relacionados con el rendimiento. Para obtener más información, consulte What is New in MySQL 8.4 since MySQL 8.0
. Le recomendamos que pruebe el rendimiento de su aplicación en RDS para MySQL 8.4 antes de migrar una instancia de producción.
-
innodb_purge_threads
: el valor por defecto se establece en la fórmulaLEAST({DBInstanceVCPU/2},4)
para evitar que la longitud de la lista del historial de InnoDB aumente demasiado. -
group_replication_exit_state_action
: el valor predeterminado esOFFLINE_MODE
, que se alinea con el valor predeterminado de MySQL Community. Para obtener más información, consulte Aspectos a tener en cuenta y prácticas recomendadas de los clústeres activo-activo de RDS para MySQL. -
binlog_format
: el valor predeterminado esROW
, que se alinea con el valor predeterminado de MySQL Community. Puede modificar el parámetro para las instancias de base de datos Single-AZ o Multi-AZ, pero no para los clústeres de base de datos Multi-AZ. Los clústeres de bases de datos Multi-AZ utilizan la replicación semisincrónica y, cuandobinlog_format
se establece enMIXED
o enSTATEMENT
, la replicación falla.
-
-
Cambios de lenguaje inclusivos: RDS para MySQL 8.4 incluye cambios de RDS para MySQL 8.0 relacionados con palabras clave y esquemas del sistema para un lenguaje inclusivo. Para obtener más información, consulte Cambios de lenguaje inclusivo en RDS para MySQL 8.4.
Para obtener una lista de todas las características y cambios de MySQL 8.4, consulte What Is New in MySQL 8.4 since MySQL 8.0
Para ver una lista de las características no admitidas, consulte Características de MySQL que no admite Amazon RDS.
Motores de almacenamiento admitidos por RDS for MySQL
Si bien MariaDB 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 admite por completo el motor de almacenamiento InnoDB para las instancias de base de datos de MySQL. Las características de Amazon RDS de recuperación a un momento dado y la restauración de instantáneas requieren un motor de almacenamiento que pueda recuperarse y solo son compatibles con el motor de almacenamiento de InnoDB. Para obtener más información, consulte Compatibilidad con memcached para MySQL.
Actualmente, Amazon RDS for MySQL no admite el motor de almacenamiento federado.
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 y 5.5 y 5.6 ya no se admiten en Amazon RDS. Sin embargo, puede restaurar instantáneas de MySQL 5.1 y 5.5 y 5.6 existentes. Cuando se restaura una instantánea de MySQL 5.1 o 5.5 o 5.6 la instancia de base de datos se actualiza automáticamente a MySQL 5.7.
Uso de memcached y otras opciones con MySQL en Amazon RDS
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 base de datos de RDS para MySQL 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 para MySQL en Amazon RDS
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
Las instancias de base de datos de RDS para MySQL admiten la activación de caché InnoDB. 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 Grupos de parámetros para Amazon RDS.
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 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
Volcado y carga del grupo del búfer bajo demanda
Puede guardar y cargar la caché de InnoDB «bajo demanda».
Para volcar el estado actual del grupo del búfer en el disco, llame al procedimiento almacenado mysql.rds_innodb_buffer_pool_dump_now.
Para cargar el estado guardado del grupo del búfer desde el disco, llame al procedimiento almacenado mysql.rds_innodb_buffer_pool_load_now.
Para cancelar una operación de carga en curso, llame al procedimiento almacenado mysql.rds_innodb_buffer_pool_load_abort.
Cambios de lenguaje inclusivo en RDS para MySQL 8.4
RDS para MySQL 8.4 incluye cambios de la edición de la comunidad de MySQL 8.4 relacionados con palabras clave y esquemas del sistema para un lenguaje inclusivo. Por ejemplo, el comando SHOW REPLICA
STATUS
reemplaza a SHOW SLAVE STATUS
.
Temas
Cambio del nombre del parámetro de configuración
Los siguientes parámetros de configuración tienen nombres nuevos en RDS para MySQL 8.4.
Para obtener compatibilidad, puede verificar los nombres de los parámetros en el cliente de mysql
usando cualquiera de los dos nombres. Solo podrá utilizar los nuevos nombres cuando modifique los valores de un grupo de parámetros de MySQL 8.4 personalizado. Para obtener más información, consulte Grupos de parámetros predeterminados y personalizados.
Nombre que se va a eliminar | Nombre nuevo o preferido |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cambios en los nombres de los procedimientos almacenados
Los siguientes procedimientos almacenados tienen nombres nuevos en RDS para MySQL 8.4.
Para obtener compatibilidad, puede utilizar cualquiera de los dos nombres en la versión inicial de RDS para MySQL 8.4. Los nombres de procedimientos antiguos se eliminarán en una próxima versión. Para obtener más información, consulte Configuración, inicio y detención de la replicación del registro binario (binlog).
Nombre que se va a eliminar | Nombre nuevo o preferido |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
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
-
Cifrado de espacio de tabla de InnoDB
-
Complemento de nivel de seguridad de las contraseñas
-
Variables persistentes del sistema
-
Complemento de reescritura de consultas de reescritor
-
Replicación semisincrónica, excepto en los clústeres de base de datos Multi-AZ
-
Espacio de tabla transportable
-
Complemento X
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 anfitrión directo a una instancia de base de datos a través de Telnet, Secure Shell (SSH) o conexión a escritorio remoto de Windows. Cuando se crea una instancia de base de datos, se le asigna db_owner para todas las bases de datos de esa instancia y todos los permisos en la base de datos, excepto los utilizados para las copias de seguridad. Amazon RDS administra las copias de seguridad por usted.