Amazon RDS - Zadania MySQL DBA

Podobnie jak w przypadku każdej innej bazy danych, Amazon RDS MYSQL również potrzebuje zadań DBA, aby dostroić bazę danych i przeprowadzać okresowe kontrole stanu itp. Ale ponieważ platforma AWS nie zezwala powłoce na dostęp do bazy danych, istnieje ograniczona liczba zadań DBA, które mogą być wykonywane w porównaniu z lokalną instalacją MySQL. Poniżej znajduje się lista typowych zadań DBA, które można wykonać w bazie danych AWS RDS MySQL oraz ich opisy.

Plik dziennika błędów MySQL (mysql-error.log) można wyświetlić za pomocą konsoli Amazon RDS lub pobierając dziennik za pomocą interfejsu wiersza polecenia Amazon RDS. mysql-error.log jest opróżniany co 5 minut, a jego zawartość jest dołączana do mysql-error-running.log. Plik mysql-error-running.log jest następnie obracany co godzinę, a pliki godzinowe wygenerowane w ciągu ostatnich 24 godzin są zachowywane.

Korzystanie z konsoli RDS

Poniżej znajdują się linki do dwóch plików dziennika opisanych powyżej.

Korzystanie z CLI

Za pomocą interfejsu wiersza polecenia pliki dziennika są publikowane w CloudWatch Logs jako obiekt JSON.

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

Czasami DBA musi zakończyć długotrwałą sesję lub zapytanie, które nie daje wystarczająco szybkiego wyniku. To zadanie DBA polega najpierw na znalezieniu identyfikatora procesu zapytania, a następnie za pomocą funkcji RDS w celu zabicia zapytania. Poniższe polecenia są przykładami.

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

Możemy skrócić czas przywracania po awarii, ustawiając parametr DB o nazwie innodb_file_per_table. Możemy znaleźć ten parametr w konsoli RDS, jak pokazano poniżej.

Następnie możemy wyszukać nazwę parametru, jak pokazano poniżej.

Amazon RDS ustawia domyślną wartość parametru innodb_file_per_table na 1, co pozwala na usunięcie poszczególnych tabel InnoDB i odzyskanie pamięci używanej przez te tabele dla instancji DB. Przyspiesza to czas odzyskiwania po awarii.

Zatrzymanie bazy danych, ponowne jej uruchomienie lub tworzenie migawek itp. Można łatwo wykonać za pomocą konsoli RDS, jak pokazano na poniższym schemacie.