Amazon RDS - Tarefas de DBA MySQL
Como acontece com qualquer outro banco de dados, o Amazon RDS MYSQL também precisa de tarefas de DBA para ajustar o banco de dados e fazer verificações de saúde periódicas, etc. Mas, como a plataforma AWS não permite o acesso shell ao banco de dados, há um número limitado de tarefas de DBA que podem ser realizada em comparação com a instalação local do MySQL. Abaixo está uma lista de tarefas comuns de DBA que podem ser realizadas no banco de dados AWS RDS MySQL e suas descrições.
O arquivo de log de erros do MySQL (mysql-error.log) pode ser visualizado usando o console do Amazon RDS ou recuperando o log usando o Amazon RDS CLI. mysql-error.log é descarregado a cada 5 minutos e seu conteúdo é anexado a mysql-error-running.log. O arquivo mysql-error-running.log é então girado a cada hora e os arquivos de hora em hora gerados durante as últimas 24 horas são retidos.
Usando o console RDS
Abaixo, há links para dois arquivos de log descritos acima.
Usando CLI
Usando CLI, os arquivos de log são publicados em CloudWatch Logs como um objeto JSON.
aws rds modify-db-instance \
--db-instance-identifier mydbinstance \
--cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}' \
--apply-immediately
Às vezes, o DBA precisa matar uma sessão ou consulta de longa duração que não está dando o resultado rápido o suficiente. Essa tarefa de DBA é realizada primeiro encontrando o ID do processo da consulta e, em seguida, usando uma função RDS para eliminar a consulta. Os comandos abaixo são exemplos.
# get the ID
Select * from INFORMATION_SCHEMA.PROCESSLIST
#Apply the Kill Function
CALL mysql.rds_kill(processID);
Podemos melhorar o tempo de recuperação de uma falha definindo um parâmetro de banco de dados chamado innodb_file_per_table. Podemos encontrar este parâmetro no console RDS conforme mostrado abaixo.
Em seguida, podemos pesquisar o nome do parâmetro conforme mostrado abaixo.
O Amazon RDS define o valor padrão para o parâmetro innodb_file_per_table como 1, o que permite eliminar tabelas InnoDB individuais e recuperar o armazenamento usado por essas tabelas para a instância de banco de dados. Isso acelera o tempo de recuperação da falha.
Parar um banco de dados, reiniciá-lo ou criar instantâneos, etc., podem ser feitos facilmente por meio do console RDS, conforme mostrado no diagrama abaixo.