MariaDB en Amazon RDS - Amazon Relational Database Service

MariaDB en Amazon RDS

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

  • MariaDB 10.6

  • MariaDB 10.5

  • MariaDB 10.4

  • MariaDB 10.3

  • MariaDB 10.2 (fin de vida útil programado para el 15 de octubre de 2022)

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

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

MariaDB está disponible en todas las AWS regiones. Para obtener más información acerca de las AWS regiones, consulte Regiones, zonas de disponibilidad y Local Zones.

Puede utilizar Amazon RDS para bases de datos de Amazon RDS for MariaDB para crear aplicaciones compatibles con HIPAA. Puede guardar información de contenido sanitario, incluida información sanitaria protegida (PHI), si ha firmado un Acuerdo para socio empresarial (BAA) de AWS. Para obtener más información, consulte Conformidad con HIPAA. AWS Los servicios en el ámbito han sido evaluados completamente por un auditor externo y dan como resultado una certificación, declaración de conformidad o autoridad para operar (ATO). Para obtener más información, consulte Servicios de AWS incluidos en el ámbito por programa de conformidad.

Antes de crear su primera instancia de base de datos, debe completar los pasos que se describen en la sección de configuración de esta guía. Para obtener más información, consulte Configuración de Amazon RDS.

Tareas de administración frecuentes para MariaDB en Amazon RDS

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

Área de la tarea Documentación relacionada

Clases de instancias, almacenamiento y PIOPS

Si va a crear una instancia de base de datos con fines de producción, debe entender cómo funcionan en Amazon RDS las clases de instancia, los tipos de almacenamiento y las IOPS provisionadas.

Clases de instancia de base de datos

Tipos de almacenamiento de Amazon RDS

Implementaciones Multi-AZ

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.

Implementaciones Multi-AZ para alta disponibilidad

Amazon Virtual Private Cloud (VPC)

Si su cuenta de AWS tiene una VPC predeterminada, la instancia de base de datos se creará automáticamente dentro de la VPC predeterminada. Si su cuenta no tiene una VPC predeterminada y desea que la instancia de base de datos esté en una VPC, debe crear los grupos de VPC y de subredes antes de crear la instancia de base de datos.

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

Grupos de seguridad

De manera predeterminada, las instancias de base de datos se crean con un firewall que impide el acceso a ellas. Por ello, 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. El grupo de seguridad que se crea depende de la plataforma Amazon EC2 en la que se encuentra la instancia de base de datos y de si accede a la instancia de base de datos desde una instancia Amazon EC2.

En general, si la instancia de base de datos está en la plataforma EC2-Classic, tendrá que crear un grupo de seguridad de base de datos; si la instancia de base de datos está en la plataforma EC2-VPC, tendrá que crear un grupo de seguridad de VPC.

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

Control de acceso con grupos de seguridad

Grupos de parámetros

Si su instancia de base de datos va a requerir unos parámetros de base de datos concretos, debe crear un grupo de parámetros antes de crear la instancia de base de datos.

Trabajo con los grupos de parámetros

Importación y exportación de datos

Establezca procedimientos para importar o exportar datos.

Importación de datos en una instancia de base de datos de MariaDB

Replicación

Puede descargar tráfico de lectura de la instancia de base de datos de origen de MariaDB mediante la creación de réplicas de lectura.

Trabajo con réplicas de lectura

Conexión a una instancia de base de datos

Conéctese a una instancia de base de datos mediante una aplicación cliente SQL estándar.

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

Copia de seguridad y restauración

Cuando cree la instancia de base de datos, puede configurarla para que realice copias de seguridad automatizadas. También puede realizar copias de seguridad y restaurar las bases de datos manualmente utilizando archivos de copia de seguridad completos (archivos .bak).

Trabajo con copias de seguridad

Supervisión

Monitoree la instancia de base de datos de MariaDB mediante las métricas, los eventos y el monitoreo mejorado de RDS de Amazon CloudWatch. Vea archivos de registro para la instancia de base de datos de MariaDB.

Consulta de métricas en la consola de Amazon RDS

Consulta de eventos de Amazon RDS

Archivos de registro

Puede obtener acceso a los archivos de registro de la instancia de base de datos MariaDB.

Supervisión de archivos de registro de Amazon RDS

Archivos de registro de base de datos de MariaDB

También hay tareas administrativas avanzadas para trabajar con las instancias de base de datos que ejecutan MariaDB. Para obtener más información, consulte la documentación siguiente:

Versiones de MariaDB en Amazon RDS

En MariaDB, los números de la 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 principal si cambia el número de la versión principal: por ejemplo, si se pasa de la versión 10.5 a la 10.6. Un cambio de versión se considera secundario si solo cambia el número de la versión secundaria: por ejemplo, si se pasa de la versión 10.6.5 a la 10.6.7.

Amazon RDS admite actualmente las siguientes versiones de MariaDB:

Versión principal Versión secundaria

MariaDB 10.6

  • 10.6.7

  • 10.6.5

MariaDB 10.5

  • 10.5.15

  • 10.5.13

  • 10.5.12

MariaDB 10.4

  • 10.4.24

  • 10.4.22

  • 10.4.21

MariaDB 10.3

  • 10.3.34

  • 10.3.32

  • 10.3.31

  • 10.3.28

MariaDB 10.2

  • 10.2.43

  • 10.2.41

  • 10.2.40

  • 10.2.39

Puede especificar cualquier versión de MariaDB admitida actualmente al crear una nueva instancia de base de datos. Puede especificar la versión principal (como MariaDB 10.5) y versiones secundarias compatibles con 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 los valores predeterminados para las instancias de la base de datos recién creadas, use el comando describe-db-engine-versions de la AWS CLI.

La versión predeterminada de MariaDB puede variar según AWS la región. 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 de una AWS región mediante el siguiente AWS CLI comando:

aws rds describe-db-engine-versions --default-only --engine mariadb --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 MariaDB para la versión principal 10.5 y la región de Oeste de EE. UU. (Oregón) de AWS (us-west-2):

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

Fin de vida útil de MariaDB 10.2

El 15 de octubre de 2022, Amazon RDS iniciará el proceso de fin de vida útil de la versión 10.2 de MariaDB con el siguiente calendario, que incluye recomendaciones de actualización. El proceso de fin de vida útil finaliza el soporte estándar de esta versión. Recomendamos que actualice lo antes posible todas las instancias de base de datos de MariaDB 10.2 a MariaDB 10.3 o versiones posteriores. Para obtener más información, consulte Actualización del motor de base de datos MariaDB.

Acción o recomendación Fechas

Recomendamos que actualice manualmente las instancias de base de datos de MariaDB 10.2 a la versión que prefiera. Puede actualizar directamente a la versión 10.3 o 10.6 de MariaDB.

Desde ahora hasta el 15 de octubre de 2022

Recomendamos que actualice manualmente las instantáneas de MariaDB 10.2 a la versión que prefiera.

Desde ahora hasta el 15 de octubre de 2022

Ya no puede crear nuevas instancias de base de datos MariaDB 10.2.

Todavía puede crear réplicas de lectura de instancias de base de datos de MariaDB 10.2 existentes y cambiarlas de implementaciones Single-AZ a implementaciones Multi-AZ.

15 de julio de 2022

Amazon RDS inicia las actualizaciones automáticas de las instancias de base de datos de MariaDB 10.2 a la versión 10.3.

15 de octubre de 2022

Amazon RDS inicia actualizaciones automáticas a la versión 10.3 para cualquier instancia de base de datos de MariaDB 10.2 restaurada a partir de instantáneas.

15 de octubre de 2022

Para obtener más información acerca del fin de vida útil de Amazon RDS for MariaDB 10.2, consulteAnnouncement: Amazon Relational Database Service (Amazon RDS) for MariaDB 10.2 End-of-Life date is October 15, 2022.

Compatibilidad de características de MariaDB en Amazon RDS

En las siguientes secciones, encontrará la compatibilidad de características de MariaDB en Amazon RDS for MariaDB para las versiones principales de MariaDB:

Para obtener información acerca de la compatibilidad de las versiones secundarias de Amazon RDS for MariaDB, consulte Versiones de MariaDB en Amazon RDS.

Compatibilidad con MariaDB 10.6 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 10.6 de MariaDB o una posterior:

  • Motor de almacenamiento MyRocks: puede utilizar el motor de almacenamiento MyRocks con RDS for MariaDB para optimizar el consumo de almacenamiento de las aplicaciones web con uso intensivo de escritura y de alto rendimiento. Para obtener más información, consulte Motores de almacenamiento de MariaDB admitidos en Amazon RDS y MyRocks.

  • Autenticación de base de datos de IAM: puede utilizar la autenticación de base de datos de IAM para mejorar la seguridad y la administración central de las conexiones a sus instancias de base de datos MariaDB. Para obtener más información, consulte Autenticación de bases de datos de IAM para MariaDB, MySQL, and PostgreSQL.

  • Opciones de actualización: ahora puede actualizar a la versión 10.6 de RDS for MariaDB desde cualquier versión principal anterior (10.2, 10.3, 10.4, 10.5). También puede reataurar una instantánea de una instancia de base de datos MySQL 5.6 o 5.7 existente a una instancia de MariaDB 10.6. Para obtener más información, consulte Actualización del motor de base de datos MariaDB.

  • Replicación retrasada: ahora puede establecer un periodo de tiempo configurable durante el cual una réplica de lectura se retrasa con respecto a la base de datos de origen. En una configuración de replicación estándar de MariaDB, hay un retraso de replicación mínimo entre el origen y la réplica. Con la replicación retrasada, puede configurar un retraso intencional como estrategia de recuperación de desastres. Para obtener más información, consulte Configuración de la replicación retrasada con MariaDB.

  • Compatibilidad con Oracle PL/SQL: mediante el uso de la versión 10.6 de RDS for MariaDB puede migrar con más facilidad sus aplicaciones Oracle heredadas a Amazon RDS. Para obtener más información, consulte SQL_MODE=ORACLE.

  • Atomic DDL: las instrucciones de lenguaje de datos dinámicos (DDL) pueden ser relativamente seguras frente a bloqueos con la versión 10.6 de RDS for MariaDB. CREATE TABLE, ALTER TABLE, RENAME TABLE, DROP TABLE, DROP DATABASE y las instrucciones DDL relacionadas ahora son atómicas. La instrucción se lleva a cabo correctamente o se revierte por completo. Para obtener más información, consulte Atomic DDL.

  • Otras mejoras: estas mejoras incluyen una función JSON_TABLE para transformar datos JSON a un formato relacional dentro de SQL y una carga más rápida de datos de tablas vacías con InnoDB. También incluyen un nuevo sys_schema para el análisis y la solución de problemas, la mejora del optimizador que permite ignorar los índices no utilizados, y las mejoras de rendimiento. Para obtener más información, consulte JSON_TABLE.

  • 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 10.6 de MariaDB:

Para ver una lista de todas las características de la versión 10.6 de MariaDB y la documentación correspondiente, consulte Cambios y mejoras de la versión 10.6 de MariaDB y Notas de la versión: serie 10.6 de MariaDB en el sitio web de MariaDB.

Para ver una lista de las características no admitidas, consulte Características no admitidas.

Compatibilidad con MariaDB 10.5 en Amazon RDS

Amazon RDS admite las siguientes características nuevas de sus instancias de base de datos en las que se ejecuta la versión 10.5 de MariaDB o una posterior:

  • Mejoras de InnoDB – en la versión 10.5 de MariaDB se incluyen mejoras de InnoDB. Para obtener más información, consulte InnoDB: Performance Improvements etc. (InnoDB: mejoras de rendimiento, etc.)

  • Actualizaciones del esquema de rendimiento – en la versión 10.5 de MariaDB se incluyen actualizaciones del esquema de rendimiento. Para obtener más información, consulte Performance Schema Updates to Match MySQL 5.7 Instrumentation and Tables (Actualizaciones del esquema de rendimiento para lograr la coincidencia con la instrumentación y las tablas de MySQL 5.7).

  • Un solo archivo en el registro REDO de InnoDB – en las versiones de MariaDB anteriores a la versión 10.5, el valor del parámetro innodb_log_files_in_group estaba establecido en 2. En la versión 10.5 de MariaDB, el valor de este parámetro está establecido en 1.

    Si efectúa la actualización desde una versión anterior a la versión 10.5 de MariaDB y no modifica los parámetros, el valor del parámetro innodb_log_file_size no cambia. Sin embargo, vale para un solo archivo de registro en lugar de para dos. El resultado es que la instancia de base de datos actualizada de MariaDB, versión 10.5, utiliza la mitad del tamaño del registro REDO que usaba antes de la actualización. Este cambio puede tener un efecto notable en el rendimiento. Para solucionar este problema, puede duplicar el valor del parámetro innodb_log_file_size. Para obtener información acerca de cómo modificar los parámetros, consulte Modificación de parámetros de un grupo de parámetros de base de datos.

  • No se admite el comando SHOW SLAVE STATUS – en las versiones de MariaDB anteriores a la versión 10.5, el comando SHOW SLAVE STATUS requería el privilegio REPLICATION SLAVE. En la versión 10.5 de MariaDB, el comando SHOW REPLICA STATUS equivalente requiere el privilegio REPLICATION REPLICA ADMIN. Este privilegio nuevo no se otorga al usuario maestro de RDS.

    En lugar de utilizar el comando SHOW REPLICA STATUS, ejecute el procedimiento almacenado mysql.rds_replica_status nuevo para devolver información similar. Para obtener más información, consulte mysql.rds_replica_status.

  • No se admite el comando SHOW RELAYLOG EVENTS – en las versiones de MariaDB anteriores a la versión 10.5, el comando SHOW RELAYLOG EVENTS requería el privilegio REPLICATION SLAVE. En la versión 10.5 de MariaDB, este comando requiere el privilegio REPLICATION REPLICA ADMIN. Este privilegio nuevo no se otorga al usuario maestro de RDS.

  • Valores predeterminados nuevos para los parámetros – los siguientes parámetros tienen valores predeterminados nuevos para las instancias de base de datos de MariaDB, versión 10.5:

Para ver una lista de todas las características de la versión 10.5 de MariaDB y la documentación respectiva, consulte Changes & Improvements in MariaDB 10.5 (Cambios y mejoras de la versión 10.5 de MariaDB) y Release Notes - MariaDB 10.5 Series (Notas de la versión: Serie 10.5 de MariaDB), en el sitio web de MariaDB.

Para ver una lista de las características no admitidas, consulte Características no admitidas.

Compatibilidad con MariaDB 10.4 en Amazon RDS

Amazon RDS admite las siguientes nuevas características de sus instancias de base de datos en las que se ejecuta la versión de MariaDB 10.4 o posterior:

Para ver una lista de todas las características de MariaDB 10.4 y de su documentación, consulte Changes & Improvements in MariaDB 10.4 y Release Notes - MariaDB 10.4 Series en el sitio web de MariaDB.

Para ver una lista de las características no admitidas, consulte Características no admitidas.

Compatibilidad con MariaDB 10.3 en Amazon RDS

Amazon RDS admite las siguientes nuevas características de sus instancias de base de datos en las que se ejecuta la versión de MariaDB 10.3 o posterior:

  • Compatibilidad con Oracle: analizador de compatibilidad PL/SQL; secuencias; INTERSECT y EXCEPT para complementar UNION; declaraciones TYPE OF y ROW TYPE OF nuevas; y columnas invisibles.

  • Procesamiento de datos temporales: tablas con control de versiones del sistema para realizar consultas en estados anteriores y presentes de la base de datos

  • Flexibilidad: agregados definidos por los usuarios; compresión de columnas independiente del almacenamiento y compatibilidad con el protocolo de proxy para retransmitir la dirección IP del cliente al servidor

  • Manejabilidad: operaciones ADD COLUMN instantáneas; y operaciones de lenguaje de definición de datos (DDL) de falla rápida

Para ver una lista de todas las características de MariaDB 10.3 y de su documentación, consulte Changes & Improvements in MariaDB 10.3 y Release Notes - MariaDB 10.3 Series en el sitio web de MariaDB.

Para ver una lista de las características no admitidas, consulte Características no admitidas.

Compatibilidad con MariaDB 10.2 en Amazon RDS

Amazon RDS admite las siguientes nuevas características de sus instancias de base de datos en las que se ejecuta la versión de MariaDB 10.2 o posterior:

  • ALTER USER

  • Expresiones de tabla comunes

  • Compresión de eventos para reducir el tamaño del log binario

  • CREATE USER: nuevas opciones para limitar el uso de recursos y TLS/SSL

  • EXECUTE IMMEDIATE

  • Flashback

  • InnoDB: ahora el motor de almacenamiento predeterminado en lugar de XtraDB

  • InnoDB: establece el tamaño del grupo del búfer dinámicamente

  • Funciones JSON

  • Funciones de ventana

  • WITH

Para ver una lista de todas las características de MariaDB 10.2 y de su documentación, consulte Changes & Improvements in MariaDB 10.2 y Release Notes - MariaDB 10.2 Series en el sitio web de MariaDB.

Para ver una lista de las características no admitidas, consulte Características no admitidas.

Características no admitidas

Las siguientes características de MariaDB no se admiten en Amazon RDS:

  • Motor de almacenamiento S3

  • Complemento de autenticación: GSSAPI

  • Complemento de autenticación: conector Unix

  • AWSComplemento de cifrado de Key Management

  • Replicación retrasada para versiones de MariaDB anteriores a la versión 10.6

  • Cifrado nativo de MariaDB en reposo para InnoDB y Aria.

    Puede habilitar el cifrado en reposo para una instancia de base de datos de MariaDB siguiendo las instrucciones en Cifrado de recursos de Amazon RDS.

  • HandlerSocket

  • Tipo de tabla JSON para versiones de MariaDB anteriores a la versión 10.6

  • ColumnStore de MariaDB

  • Clúster Galera de MariaDB

  • Replicación de varios orígenes

  • Motor de almacenamiento MyRocks para versiones de MariaDB anteriores a la versión 10.6

  • Complemento de validación de contraseñas, simple_password_check y cracklib_password_check

  • Motor de almacenamiento Spider

  • Motor de almacenamiento Sphinx

  • Motor de almacenamiento TokuDB

  • Atributos de objetos específicos de motores de almacenamiento, como se describe en Engine-defined New Table/Field/Index Attributes en la documentación de MariaDB

  • Cifrado de tabla y espacio de tabla

Para ofrecer una experiencia de servicio administrado, Amazon RDS no proporciona acceso mediante shell a las instancias de base de datos y 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.

Motores de almacenamiento de MariaDB admitidos en Amazon RDS

RDS for MariaDB es compatible con los siguientes motores de almacenamiento.

Otros motores de almacenamiento no son compatibles actualmente con RDS for MariaDB.

Motor de almacenamiento InnoDB

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. InnoDB es el motor de almacenamiento recomendado para las instancias de base de datos MariaDB en Amazon RDS. 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 recomendado para la versión de MariaDB.

Para obtener más información, consulte InnoDB.

Motor de almacenamiento MyRocks

El motor de almacenamiento MyRocks está disponible en la versión 10.6 de RDS for MariaDB y versiones posteriores. Antes de utilizar el motor de almacenamiento MyRocks en una base de datos de producción, recomendamos que realice análisis comparativos y pruebas exhaustivas para verificar cualquier beneficio potencial sobre InnoDB para su caso de uso.

El grupo de parámetros predeterminado para la versión 10.6 de MariaDB incluye parámetros de MyRocks. Para obtener más información, consulte Parámetros de MariaDB y Trabajo con los grupos de parámetros.

Para crear una tabla que utilice el motor de almacenamiento MyRocks, especifique ENGINE=RocksDB en la instrucción CREATE TABLE. En el siguiente ejemplo, se crea una tabla que utiliza el motor de almacenamiento MyRocks.

CREATE TABLE test (a INT NOT NULL, b CHAR(10)) ENGINE=RocksDB;

Se recomienda no ejecutar transacciones que abarquen las tablas InnoDB y MyRocks. MariaDB no garantiza ACID (atomicidad, consistencia, aislamiento, durabilidad) para transacciones entre motores de almacenamiento. Si bien es posible tener tablas InnoDB y MyRocks en una instancia de base de datos, no recomendamos este enfoque, excepto durante la migración de un motor de almacenamiento a otro. Cuando existen tablas InnoDB y MyRocks en una instancia de base de datos, cada motor de almacenamiento tiene su propio grupo de búferes, lo que podría provocar una degradación del rendimiento.

MyRocks no admite aislamiento SERIALIZABLE o bloqueos de espacio. Por lo tanto, en general, no puede utilizar MyRocks con replicación basada en instrucciones. Para obtener más información, consulte MyRocks y replicación.

En la actualidad, puede modificar solo los siguientes parámetros de MyRocks:

El motor de almacenamiento MyRocks y el motor de almacenamiento InnoDB pueden competir por la memoria en función de la configuración de los parámetros rocksdb_block_cache_size y innodb_buffer_pool_size. En algunos casos, es posible que solo tenga la intención de utilizar el motor de almacenamiento MyRocks en una instancia de base de datos determinada. Si es así, recomendamos configurar el parámetro innodb_buffer_pool_size minimal en un valor mínimo y configurar el rocksdb_block_cache_size lo más alto posible.

Puede acceder a los archivos de registro de MyRocks mediante las operaciones DescribeDBLogFiles y DownloadDBLogFilePortion.

Para obtener más información sobre MyRocks, consulte MyRocks en el sitio web de MariaDB.

Límites de tamaño de archivo de MariaDB en Amazon RDS

Para las instancias de base de datos MariaDB, el tamaño máximo de una tabla es de 16 TB cuando se usan espacios de tablas de archivos por tabla InnoDB. Este límite también restringe el espacio de tabla del sistema a un tamaño máximo de 16 TB. Los espacios de tabla de archivo por tabla de InnoDB (en los que las tablas están cada una en su propio espacio de tabla) se habilitan de forma predeterminada para las instancias de base de datos de MariaDB. Este límite no está relacionado con el límite máximo de almacenamiento para las instancias de base de datos MariaDB. Para más información sobre el límite de almacenamiento, consulte Almacenamiento de instancias de base de datos de Amazon RDS.

El uso de los espacios de tabla file-per-table de InnoDB tiene pros y contras en función de la aplicación. Para determinar el mejor método para su aplicación, consulte File-Per-Table Tablespaces en la documentación de MySQL.

No es recomendable permitir que las tablas crezcan hasta el tamaño de archivo máximo. En general, es preferible dividir los datos en tablas más pequeñas, que pueden mejorar el desempeño y los tiempos de recuperación.

Una opción que se puede usar para dividir una tabla grande en tablas más pequeñas es la creación de particiones. Las particiones distribuyen las porciones de una tabla grande en archivos independientes en función de las reglas que se hayan especificado. Por ejemplo, si almacena las transacciones por fecha, puede crear reglas de partición que distribuyan las transacciones más antiguas entre distintos archivos por medio de la creación de particiones. Después, periódicamente, se pueden archivar los datos de transacciones históricos que no tengan que estar disponibles de forma inmediata para su aplicación. Para obtener información, consulte Partitioning en la documentación de MySQL.

Para determinar el tamaño de archivo de una tabla

Utilice el comando SQL siguiente para determinar si alguna de las tablas es demasiado grande y por lo tanto es candidata para particiones. Para actualizar las estadísticas de la tabla, ejecute un comando ANALYZE TABLE en cada tabla. Para obtener más información, consulte ANALYZE TABLE Statement en la documentación de MySQL.

SELECT TABLE_SCHEMA, TABLE_NAME, round(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2) As "Approximate size (MB)", DATA_FREE FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema');

Para habilitar espacios de tabla file-per-table de InnoDB

  • Para habilitar los espacios de tabla file-per-table de InnoDB, establezca el parámetro innodb_file_per_table en 1, en el grupo de parámetros de la instancia de base de datos.

Para deshabilitar los espacios de tabla file-per-table de InnoDB

  • Para deshabilitar los espacios de tabla file-per-table de InnoDB, establezca el parámetro innodb_file_per_table en el valor 0 dentro del grupo de parámetros de la instancia de base de datos.

Para obtener más información acerca de la actualización de un grupo de parámetros, consulte Trabajo con los grupos de parámetros.

Cuando haya habilitado o deshabilitado los espacios de tabla file-per-table de InnoDB, puede ejecutar un comando ALTER TABLE. Puede utilizar este comando para mover una tabla desde el espacio de tabla global a su propio espacio de tabla. O bien, puede mover una tabla desde su propio espacio de tabla al espacio de tabla global. A continuación se muestra un ejemplo.

ALTER TABLE table_name ENGINE=InnoDB, ALGORITHM=COPY;

Seguridad de MariaDB en Amazon RDS

La seguridad de las instancias de bases de datos de MariaDB 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 concedan los permisos necesarios para realizar operaciones de administración de Amazon RDS. Para obtener más información, consulte Identity and access management 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.

  • Una vez que se ha abierto una conexión a una instancia de base de datos de MariaDB, la autenticación del inicio de sesión y los permisos se aplican de la misma forma que en una instancia independiente de MariaDB. Los comandos como CREATE USER, RENAME USER, GRANT, REVOKE y SET PASSWORD funcionan de la misma forma que en las bases de datos independientes, al igual que la modificación directa de las tablas de los esquemas de las bases de datos.

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

  • reload

    Este privilegio está limitado en instancias de base de datos de MariaDB. No concede acceso a las operaciones FLUSH LOGS o FLUSH TABLES WITH READ LOCK.

  • replication client

  • replication slave

  • select

  • show databases

  • show view

  • trigger

  • update

Para obtener más información acerca de estos privilegios, consulte MariaDB User Account Management en la documentación de MariaDB.

nota

Aunque puede eliminar el usuario maestro en una instancia de base de datos, no es recomendable hacerlo. Para volver a crear el usuario maestro, utilice la ModifyDBInstance API o el modify-db-instance AWS CLI y especifique una nueva contraseña de usuario maestro con el parámetro adecuado. 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 la cuenta rdsadmin o cambiar su nombre, su contraseña o sus privilegios, 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. Los comandos de Amazon RDS mysql.rds_kill, mysql.rds_kill_query y mysql.rds_kill_query_id se proporcionan para el uso en MariaDB y también en MySQL para que pueda finalizar las sesiones de usuario o las consultas en las instancias de base de datos.

Uso de SSL con una instancia de base de datos de MariaDB

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 MariaDB. MariaDB utiliza OpenSSL para conexiones seguras.

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.

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.

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

Versión de MariaDB TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3

MariaDB 10.6

Soportado

Soportado

Soportado

Soportado

MariaDB 10.5

Soportado

Soportado

Soportado

Soportado

MariaDB 10.4

Soportado

Soportado

Soportado

Soportado

MariaDB 10.3

Soportado

Soportado

Soportado

Soportado

MariaDB 10.2

Soportado

Soportado

Soportado

Soportado

importante

Los parámetros mysql del programacliente son ligeramente diferentes si está utilizando la versión de MySQL 5.7, la versión de MySQL 8.0 o la versión de MariaDB.

Para saber qué versión tiene, ejecute el comando mysql con la opción de comando --version. En el ejemplo siguiente, el resultado muestra que el programa cliente es de MariaDB.

$ mysql --version mysql Ver 15.1 Distrib 10.5.15-MariaDB, for osx10.15 (x86_64) using readline 5.1

La mayoría de las distribuciones de Linux, como Amazon Linux, CentOS, SUSE y Debian han reemplazado MySQL por MariaDB, y la versión de mysql en ellos es de MariaDB.

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 con el cliente MySQL 5.7 y versiones posteriores.

mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com --ssl-ca=[full path]global-bundle.pem --ssl-mode=REQUIRED

En el siguiente ejemplo, se muestra cómo lanzar un cliente con el parámetro --ssl-ca con el MariaDB.

mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com --ssl-ca=[full path]global-bundle.pem --ssl

Si quiere obtener más información para descargar paquetes de certificados, consulte Uso de SSL/TLS para cifrar una conexión a una instancia.

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

Utilice la siguiente instrucción.

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

Para obtener más información acerca de las conexiones SSL con MariaDB, consulte SSL Overview en la documentación de MariaDB.

Calentamiento de caché

El calentamiento de caché de InnoDB puede proporcionar ganancias de rendimiento para la instancia de base de datos de MariaDB al guardar el estado actual del grupo del búfer cuando se cierra la instancia de base de datos y volver a cargar el grupo del búfer desde la información guardada cuando se inicia la instancia de base de datos. Este método elimina la necesidad de que el grupo del búfer "se caliente" con respecto al uso normal de la base de datos y, en su lugar, precarga el grupo del búfer con las páginas de las consultas frecuentes conocidas. Para obtener más información acerca del calentamiento de caché consulte Volcado y restauración del grupo de búferes en la documentación de MariaDB.

El calentamiento de caché se habilita de forma predeterminada en MariaDB 10.2 y en instancias de base de datos superiores. Para habilitarlo, 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. Cambiar los valores de estos parámetros en un grupo de parámetros afecta a todas las instancias de base de datos de MariaDB que utilicen ese grupo de parámetros. Para habilitar el calentamiento de caché para instancias de base de datos de MariaDB concretas, es posible que deba crear un nuevo grupo de parámetros para esas instancias de base de datos. Para obtener información acerca de los grupos de parámetros, consulte Trabajo con los grupos de parámetros.

El calentamiento de caché 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 MariaDB no se cierra de forma normal como, por ejemplo, durante una conmutación por error, el estado del grupo del búfer no se guarda en el disco. En este caso, MariaDB carga cualquier archivo de grupo del búfer que esté disponible cuando se reinicia la instancia de base de datos. 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 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.

Puede crear un evento para volcar el grupo del búfer automáticamente a intervalos regulares. 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, consulte Events en la documentación de MariaDB.

Volcado y carga del grupo del búfer bajo demanda

Puede guardar y cargar la caché de bajo demanda usando los siguientes procedimientos almacenados:

Parámetros de base de datos para MariaDB

De manera predeterminada, una instancia de base de datos de MariaDB usa un grupo de parámetros de base de datos específico de una base de datos de MariaDB. Este grupo de parámetros contiene algunos de los parámetros (no todos) incluidos en los grupos de parámetros de base de datos de Amazon RDS para el motor de base de datos de MySQL. También contiene varios nuevos parámetros específicos de MariaDB. Para obtener más información acerca de los parámetros disponibles para el motor de base de datos de MariaDB en RDS, consulte Parámetros de MariaDB.

Tareas de administración de bases de datos frecuentes para MariaDB

Finalizar sesiones o consultas, omitir errores de reproducción, trabajar con espacios de tabla de InnoDB para mejorar los tiempos de recuperación de bloqueos y administrar el historial del estado global son tareas de DBA frecuentes que se pueden realizar en una instancia de base de datos de MariaDB. Puede gestionar estas tareas como en una instancia de base de datos de MySQL, como se describe en Tareas comunes de administración de bases de datos para las instancias de bases de datos MySQL. Las instrucciones para la recuperación en caso de bloqueo se refieren al motor InnoDB de MySQL, pero también son aplicables a una instancia de base de datos de MariaDB en la que se ejecute InnoDB.

Zona horaria local para instancias de base de datos de MariaDB

De manera predeterminada, la zona horaria para una instancia de base de datos de MariaDB 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.

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 se replica en AWS regiones, la instancia de base de datos de origen y la réplica de lectura utilizan diferentes grupos de parámetros (los grupos de parámetros son exclusivos de una AWS región). 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/Riyadh

Africa/Casablanca

Asia/Seoul

Africa/Harare

Asia/Shanghai

Africa/Monrovia

Asia/Singapore

Africa/Nairobi

Asia/Taipei

Africa/Tripoli

Asia/Tehran

Africa/Windhoek

Asia/Tokyo

America/Araguaina

Asia/Ulaanbaatar

America/Asuncion

Asia/Vladivostok

America/Bogota

Asia/Yakutsk

America/Buenos_Aires

Asia/Yerevan

America/Caracas

Atlantic/Azores

America/Chihuahua

Australia/Adelaide

America/Cuiaba

Australia/Brisbane

America/Denver

Australia/Darwin

America/Fortaleza

Australia/Hobart

America/Guatemala

Australia/Perth

America/Halifax

Australia/Sydney

America/Manaus

Brazil/East

America/Matamoros

Canada/Newfoundland

America/Monterrey

Canada/Saskatchewan

America/Montevideo

Canada/Yukon

America/Phoenix

Europe/Amsterdam

America/Santiago

Europe/Athens

America/Tijuana

Europe/Dublin

Asia/Amman

Europe/Helsinki

Asia/Ashgabat

Europe/Istanbul

Asia/Baghdad

Europe/Kaliningrad

Asia/Baku

Europe/Moscow

Asia/Bangkok

Europe/Paris

Asia/Beirut

Europe/Prague

Asia/Calcutta

Europe/Sarajevo

Asia/Damascus

Pacific/Auckland

Asia/Dhaka

Pacific/Fiji

Asia/Irkutsk

Pacific/Guam

Asia/Jerusalem

Pacific/Honolulu

Asia/Kabul

Pacific/Samoa

Asia/Karachi

US/Alaska

Asia/Kathmandu

US/Central

Asia/Krasnoyarsk

US/Eastern

Asia/Magadan

US/East-Indiana

Asia/Muscat

US/Pacific

Asia/Novosibirsk

UTC

Palabra reservada InnoDB

InnoDB es una palabra reservada para RDS for MariaDB. No puede utilizar este nombre para una base de datos MariaDB.

Versiones obsoletas para Amazon RDS for MariaDB

Las versiones 10.0 y 10.1 de Amazon RDS for MariaDB están obsoletas.

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