Compatibilidad con características de MySQL en Amazon RDS
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
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.
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 semisíncrona
-
Espacio de tabla transportable
-
Complemento X
nota
Se admiten ID de transacción globales para todas las versiones de RDS para MySQL 5.7 y para MySQL 8.0.26 y versiones posteriores a 8.0.
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.