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).