Amazon RDS - MySQL DBA-Aufgaben

Wie bei jeder anderen Datenbank benötigt auch Amazon RDS MYSQL DBA-Aufgaben, um die Datenbank zu optimieren und regelmäßige Integritätsprüfungen usw. durchzuführen. Da die AWS-Plattform jedoch keinen Shell-Zugriff auf die Datenbank zulässt, gibt es eine begrenzte Anzahl von DBA-Aufgaben, die dies können im Vergleich zur lokalen Installation von MySQL durchgeführt werden. Unten finden Sie eine Liste gängiger DBA-Aufgaben, die in der AWS RDS MySQL-Datenbank ausgeführt werden können, sowie deren Beschreibungen.

Die MySQL-Fehlerprotokolldatei (mysql-error.log) kann mithilfe der Amazon RDS-Konsole oder durch Abrufen des Protokolls mithilfe der Amazon RDS-CLI angezeigt werden. mysql-error.log wird alle 5 Minuten gelöscht und sein Inhalt an mysql-error-running.log angehängt. Die Datei mysql-error-running.log wird dann stündlich gedreht und die in den letzten 24 Stunden generierten stündlichen Dateien bleiben erhalten.

Verwenden der RDS-Konsole

Unten finden Sie Links zu zwei oben beschriebenen Protokolldateien.

Verwenden der CLI

Mithilfe der CLI werden die Protokolldateien als JSON-Objekt in CloudWatch-Protokollen veröffentlicht.

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

Manchmal muss der DBA eine lange laufende Sitzung oder Abfrage beenden, die das Ergebnis nicht schnell genug liefert. Diese DBA-Aufgabe wird ausgeführt, indem zuerst die Prozess-ID der Abfrage ermittelt und dann eine RDS-Funktion zum Beenden der Abfrage verwendet wird. Die folgenden Befehle sind Beispiele.

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

Wir können die Wiederherstellungszeit nach einem Absturz verbessern, indem wir einen DB-Parameter namens innodb_file_per_table festlegen. Wir finden diesen Parameter in der RDS-Konsole wie unten gezeigt.

Als nächstes können wir nach dem Parameternamen suchen, wie unten gezeigt.

Amazon RDS setzt den Standardwert für den Parameter innodb_file_per_table auf 1, sodass Sie einzelne InnoDB-Tabellen löschen und den von diesen Tabellen für die DB-Instanz verwendeten Speicher zurückfordern können. Dies beschleunigt die Wiederherstellungszeit nach dem Absturz.

Das Stoppen einer Datenbank, das Neustarten oder das Erstellen von Snapshots usw. kann einfach über die RDS-Konsole erfolgen (siehe Abbildung unten).