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 der Gründe für Fehler bei Hauptversion-Upgrades von Aurora MySQL
Im Tutorial wurde das Upgrade von Aurora-MySQL-Version 2 auf Version 3 erfolgreich abgeschlossen. Wenn das Upgrade jedoch fehlgeschlagen wäre, würden Sie wissen wollen, warum.
Sie können damit beginnen, den AWS CLI-Befehl describe-events zu verwenden, um sich die DB-Cluster-Ereignisse anzusehen. Dieses Beispiel zeigt die Ereignisse für mydbcluster der letzten 10 Stunden.
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 Schreiber-DB-Instance. Wenn ein Upgrade auf Aurora-MySQL-Version 3 fehlschlägt, enthält die Schreiber-Instance eine Protokolldatei namens upgrade-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 befindet sich im JSON-Format. Wir laden sie mit der Option --output text herunter, um JSON-Output nicht in einem anderen JSON-Wrapper zu kodieren. Für Upgrades auf Aurora-MySQL-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 problematische Tabelle ausführen, um das Problem zu beheben, oder Sie können die Tabelle ohne den hängenden Index neu erstellen.
OPTIMIZE TABLE problematic_upgrade.dangling_fulltext_index;
Versuchen Sie anschließend das Upgrade erneut.