Amazon RDS: tareas de DBA de MySQL

Al igual que con cualquier otra base de datos, Amazon RDS MYSQL también necesita tareas de DBA para ajustar la base de datos y realizar comprobaciones de estado periódicas, etc. Pero como la plataforma AWS no permite el acceso de shell a la base de datos, hay un número limitado de tareas de DBA que pueden realizarse en comparación con la instalación local de MySQL. A continuación, se muestra una lista de tareas comunes de DBA que se pueden realizar en la base de datos de AWS RDS MySQL y sus descripciones.

El archivo de registro de errores de MySQL (mysql-error.log) se puede ver mediante la consola de Amazon RDS o recuperando el registro mediante la CLI de Amazon RDS. mysql-error.log se descarga cada 5 minutos y su contenido se agrega a mysql-error-running.log. Luego, el archivo mysql-error-running.log se rota cada hora y se conservan los archivos generados por hora durante las últimas 24 horas.

Usando la consola RDS

A continuación, hay enlaces a dos archivos de registro descritos anteriormente.

Usando CLI

Con CLI, los archivos de registro se publican en CloudWatch Logs como un objeto JSON.

aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}' \
    --apply-immediately

A veces, el DBA necesita eliminar una sesión o consulta de larga duración que no da el resultado lo suficientemente rápido. Esta tarea de DBA se realiza encontrando primero el ID de proceso de la consulta y luego usando una función RDS para eliminar la consulta. Los siguientes comandos son ejemplos.

# get the ID
Select * from INFORMATION_SCHEMA.PROCESSLIST
#Apply the Kill Function
CALL mysql.rds_kill(processID);

Podemos mejorar el tiempo de recuperación de un bloqueo estableciendo un parámetro de base de datos llamado innodb_file_per_table. Podemos encontrar este parámetro en la consola RDS como se muestra a continuación.

A continuación, podemos buscar el nombre del parámetro como se muestra a continuación.

Amazon RDS establece el valor predeterminado para el parámetro innodb_file_per_table en 1, lo que le permite descartar tablas InnoDB individuales y recuperar el almacenamiento utilizado por esas tablas para la instancia de base de datos. Esto acelera el tiempo de recuperación del accidente.

Detener una base de datos, reiniciarla o crear instantáneas, etc. se puede hacer fácilmente a través de la consola RDS como se muestra en el siguiente diagrama.