Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Finden Sie die Gründe für Fehler bei der Aktualisierung der SQL Hauptversion von Aurora My
Im Tutorial war das Upgrade von Aurora My SQL Version 2 auf Version 3 erfolgreich. Wenn das Upgrade jedoch fehlgeschlagen wäre, würden Sie wissen wollen, warum.
Sie können damit beginnen, den describe-events
AWS CLI Befehl zu verwenden, um sich die DB-Cluster-Ereignisse anzusehen. Dieses Beispiel zeigt die Ereignisse der letzten 10 Stunden. mydbcluster
aws rds describe-events \ --source-type db-cluster \ --source-identifier mydbcluster \ --duration 600
In diesem Fall ist bei der Upgrade-Vorabprüfung ein Fehler aufgetreten.
{ "Events": [ { "SourceIdentifier": "mydbcluster", "SourceType": "db-cluster", "Message": "Database cluster engine version upgrade started.", "EventCategories": [ "maintenance" ], "Date": "2024-04-11T13:23:22.846000+00:00", "SourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:mydbcluster" }, { "SourceIdentifier": "mydbcluster", "SourceType": "db-cluster", "Message": "Database cluster is in a state that cannot be upgraded: Upgrade prechecks failed. For more details, see the upgrade-prechecks.log file. For more information on troubleshooting the cause of the upgrade failure, see https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Upgrading.Troubleshooting.html", "EventCategories": [ "maintenance" ], "Date": "2024-04-11T13:23:24.373000+00:00", "SourceArn": "arn:aws:rds:us-east-1:123456789012:cluster:mydbcluster" } ] }
Um die genaue Ursache des Problems zu diagnostizieren, untersuchen Sie die Datenbankprotokolle für die Writer-DB-Instance. Wenn ein Upgrade auf Aurora My SQL Version 3 fehlschlägt, enthält die Writer-Instanz eine Protokolldatei mit dem Namenupgrade-prechecks.log
. Dieses Beispiel zeigt, wie Sie das Vorhandensein dieses Protokolls erkennen und es dann zur Untersuchung in eine lokale Datei herunterladen.
aws rds describe-db-log-files --db-instance-identifier mydbcluster-instance \ --query '*[].[LogFileName]' --output text error/mysql-error-running.log error/mysql-error-running.log.2024-04-11.20 error/mysql-error-running.log.2024-04-11.21 error/mysql-error.log external/mysql-external.log upgrade-prechecks.log aws rds download-db-log-file-portion --db-instance-identifier mydbcluster-instance \ --log-file-name upgrade-prechecks.log \ --starting-token 0 \ --output text >upgrade_prechecks.log
Die upgrade-prechecks.log
Datei ist im JSON Format. Wir laden sie mit der --output text
Option herunter, um zu vermeiden, dass die JSON Ausgabe in einem anderen JSON Wrapper kodiert wird. Bei Upgrades auf Aurora My SQL Version 3 enthält dieses Protokoll immer bestimmte Informations- und Warnmeldungen. Es enthält nur Fehlermeldungen, wenn das Upgrade fehlschlägt. Wenn das Upgrade erfolgreich ist, wird die Protokolldatei überhaupt nicht erstellt.
Um alle Fehler zusammenzufassen und die zugehörigen Objekt- und Beschreibungsfelder anzuzeigen, können Sie den Befehl grep -A 2 '"level":
"Error"'
für den Inhalt der upgrade-prechecks.log
Datei ausführen. Dadurch werden jede Fehlerzeile und die beiden Zeilen danach angezeigt. Diese enthalten den Namen des entsprechenden Datenbankobjekts und Anleitungen zur Behebung des Problems.
$
cat upgrade-prechecks.log | grep -A 2 '"level": "Error"' "level": "Error", "dbObject": "problematic_upgrade.dangling_fulltext_index", "description": "Table `problematic_upgrade.dangling_fulltext_index` contains dangling FULLTEXT index. Kindly recreate the table before upgrade."
In diesem Beispiel können Sie den folgenden SQL Befehl für die fehlerhafte Tabelle ausführen, um zu versuchen, das Problem zu beheben, oder Sie können die Tabelle ohne den fehlerhaften Index neu erstellen.
OPTIMIZE TABLE problematic_upgrade.dangling_fulltext_index;
Versuchen Sie dann erneut, das Upgrade durchzuführen.