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.
Hauptversions-Upgrades für RDS für My SQL
Amazon RDS unterstützt die folgenden direkten Upgrades für Hauptversionen der My SQL Database-Engine:
Mein SQL 5.6 auf Mein SQL 5.7
Meine SQL 5,7 bis Meine SQL 8,0
Anmerkung
Sie können DB-Instances vom Typ SQL My 5.7 und 8.0 nur mit DB-Instance-Klassen der neuesten Generation und der aktuellen Generation zusätzlich zur DB-Instance-Klasse db.m3 der vorherigen Generation erstellen.
In einigen Fällen möchten Sie eine DB-Instance vom Typ My SQL Version 5.6, die auf einer DB-Instance-Klasse der vorherigen Generation (außer db.m3) ausgeführt wird, auf eine DB-Instance vom Typ My Version 5.7 aktualisieren. SQL In einem solchen Fall ändern Sie zunächst die DB-Instance so, dass diese eine DB-Instance-Klasse der neuesten oder aktuellen Generation verwendet. Nachdem Sie dies getan haben, können Sie die DB-Instance so ändern, dass sie die Datenbank-Engine My SQL Version 5.7 verwendet. Informationen zu RDS Amazon-DB-Instance-Klassen finden Sie unter.
Themen
Überblick über meine SQL Hauptversions-Upgrades
Hauptversions-Upgrades können Datenbankänderungen enthalten, die nicht mit vorhandenen Anwendungen rückwärts kompatibel sind. Aus diesem Grund wendet Amazon Hauptversions-Upgrades RDS nicht automatisch an. Sie müssen Ihre DB-Instance manuell ändern. Sie sollten jedes Upgrade gründlich testen, bevor Sie es auf Ihre Produktions-Instances anwenden.
Um ein Hauptversions-Upgrade für eine My SQL Version 5.6 DB-Instance auf Amazon RDS auf My SQL Version 5.7 oder höher durchzuführen, führen Sie zunächst alle verfügbaren Betriebssystemupdates durch. Aktualisieren Sie nach Abschluss der Betriebssystemaktualisierungen auf jede Hauptversion: 5.6 auf 5.7 und dann 5.7 auf 8.0. Meine SQL DB-Instances, die vor dem 24. April 2014 erstellt wurden, zeigen ein verfügbares Betriebssystem-Update an, bis das Update angewendet wurde. Weitere Informationen zu Betriebssystem-Updates finden Sie unter Anwenden von Updates für eine DB-Instance.
Während eines Hauptversions-Upgrades von My SQL RDS führt Amazon die SQL My-Binärdatei aus, mysql_upgrade
um Tabellen bei Bedarf zu aktualisieren. Außerdem RDS leert Amazon die general_log
Tabellen slow_log
und während eines Hauptversions-Upgrades. Speichern Sie die Protokollinhalte vor dem Upgrade einer Hauptversion, um die Protokollinformationen zu erhalten.
Meine SQL Hauptversions-Upgrades sind in der Regel in etwa 10 Minuten abgeschlossen. Einige Aktualisierungen können aufgrund der Klassengröße der DB-Instance länger dauern, oder weil die Instance bestimmten Richtlinien in nicht entsprich Bewährte Methoden für Amazon RDS. Wenn Sie eine DB-Instance von der RDS Amazon-Konsole aus aktualisieren, zeigt der Status der DB-Instance an, wann das Upgrade abgeschlossen ist. Wenn Sie ein Upgrade mit AWS Command Line Interface
(AWS CLI) durchführen, verwenden Sie den describe-db-instancesBefehl und überprüfen Sie den Status
Wert.
Upgrades auf Meine SQL Version 5.7 sind möglicherweise langsam
In meiner SQL Version 5.6.4 wurde ein neues Datums- und Uhrzeitformat für die timestamp
Spaltendatetime
, und eingeführttime
, das Brüche von Komponenten in Datums- und Uhrzeitwerten ermöglicht. Beim Upgrade einer DB-Instance auf Meine SQL Version 5.7 SQL erzwingt My die Konvertierung aller Datums- und Uhrzeitspaltentypen in das neue Format.
Da bei dieser Konvertierung Ihre Tabellen neu erstellt werden, kann die Aktualisierung der DB-Instance beträchtlich dauern. Die erzwungene Konvertierung erfolgt für alle DB-Instances, auf denen eine Version vor My SQL Version 5.6.4 ausgeführt wird. Sie tritt auch für alle DB-Instances auf, die von einer Version vor My SQL Version 5.6.4 auf eine andere Version als 5.7 aktualisiert wurden.
Wenn Ihre DB-Instance eine Version vor My SQL Version 5.6.4 ausführt oder von einer Version vor 5.6.4 aktualisiert wurde, empfehlen wir einen zusätzlichen Schritt. In diesen Fällen empfehlen wir, dass Sie die timestamp
Spalten datetime
time
, und in Ihrer Datenbank konvertieren, bevor Sie Ihre DB-Instance auf Meine SQL Version 5.7 aktualisieren. Durch diese Konvertierung kann der Zeitaufwand für das Upgrade der DB-Instance auf Meine SQL Version 5.7 erheblich reduziert werden. Zur Aktualisierung Ihrer Datums- und Uhrzeitspalten auf das neue Format erteilen Sie den Befehl ALTER TABLE
für jede Tabelle, die Datums- oder Uhrzeitspalten enthält. Da das Ändern einer Tabelle die Tabelle als schreibgeschützt sperrt, wird empfohlen, diese Aktualisierung während eines Wartungsfensters auszuführen.<table_name>
FORCE;
Verwenden Sie die folgende Abfrage, um alle Tabellen in Ihrer Datenbank zu finden, die über die Spalten datetime
, time
oder timestamp
verfügen und um einen ALTER
TABLE
-Befehl für die einzelnen Tabellen zu erstellen.<table_name>
FORCE;
SET show_old_temporals = ON; SELECT table_schema, table_name,column_name, column_type FROM information_schema.columns WHERE column_type LIKE '%/* 5.5 binary format */'; SET show_old_temporals = OFF;
Vorabprüfungen für Upgrades von My SQL 5.7 auf 8.0
My SQL 8.0 beinhaltet eine Reihe von Inkompatibilitäten mit My 5.7. SQL Diese Inkompatibilitäten können bei einem Upgrade von My SQL 5.7 auf My 8.0 zu Problemen führen. SQL Damit das Upgrade erfolgreich durchgeführt werden kann, sind einige Vorbereitungsmaßnahmen auf Ihrer Datenbank durchzuführen. Im Folgenden finden Sie eine allgemeine Liste dieser Inkompatibilitäten:
-
Es darf keine Tabellen geben, die veraltete Datentypen oder Funktionen verwenden.
-
Es darf keine verwaisten FRM-Dateien geben.
-
Es darf keine Auslöser mit fehlenden oder leeren Definern oder ungültigen Erstellungskontexten geben.
-
Es darf keine partitionierte Tabelle mit einer Speicher-Engine geben, für die es keine native Partitionierungsunterstützung gibt.
-
Es darf keine Verletzungen von Schlüsselwörtern oder reservierten Wörtern geben. Einige Schlüsselwörter sind möglicherweise in My SQL 8.0 reserviert, die zuvor nicht reserviert waren.
Weitere Informationen finden Sie unter Schlüsselwörter und reservierte Wörter
in der SQL Dokumentation „Meine“. -
In der My SQL
mysql
5.7-Systemdatenbank dürfen keine Tabellen vorhanden sein, die denselben Namen haben wie eine Tabelle, die im My SQL 8.0-Datenwörterbuch verwendet wird. -
In Ihrer
sql_mode
Systemvariableneinstellung dürfen keine veralteten SQL Modi definiert sein. -
Es darf keine Tabellen oder gespeicherte Prozeduren mit einzelnen
ENUM
- oderSET
-Spaltenelementen geben, deren Länge 255 Zeichen oder 1020 Bytes überschreitet. -
Vor dem Upgrade auf My SQL 8.0.13 oder höher darf es keine Tabellenpartitionen geben, die sich in gemeinsam genutzten InnoDB-Tablespaces befinden.
-
Es dürfen keine Abfragen und gespeicherten Programmdefinitionen von My SQL 8.0.12 oder niedriger vorhanden sein, die oder Qualifizierer für Klauseln verwenden.
ASC
DESC
GROUP BY
-
Ihre My SQL 5.7-Installation darf keine Funktionen verwenden, die in My 8.0 nicht unterstützt werden. SQL
Weitere Informationen finden Sie unter In My SQL 8.0 entfernte Funktionen
in der SQL Dokumentation Meine. -
Es darf keine Namen für Fremdschlüsseleinschränkungen mit mehr als 64 Zeichen geben.
-
Um die Unicode-Unterstützung zu verbessern, sollten Sie die Konvertierung von Objekten, die den
utf8mb3
-Zeichensatz verwenden, in Objekte in Betracht ziehen, die denutf8mb4
-Zeichensatz verwenden. Derutf8mb3
-Zeichensatz ist veraltet. Sie sollten darüber hinaus anstelle vonutf8mb4
die Verwendung vonutf8
für Zeichensatzverweise in Betracht ziehen, dautf8
zurzeit ein Alias für denutf8mb3
-Zeichensatz ist.Weitere Informationen finden Sie in der Dokumentation Meine Dokumentation unter Der Zeichensatz utf8mb3 (UTF3-Byte-8-Unicode-Kodierung
). SQL
Wenn Sie ein Upgrade von My SQL 5.7 auf 8.0 starten, RDS führt Amazon automatisch Vorabprüfungen durch, um diese Inkompatibilitäten zu erkennen. Informationen zum Upgrade auf My SQL 8.0 finden Sie unter Upgrade von My SQL in der Dokumentation zu My
Diese Vorabprüfungen müssen durchgeführt werden. Sie können nicht ausgelassen werden. Die Vorabprüfungen bieten folgende Vorteile:
-
Sie können ungeplante Ausfallzeiten während des Upgrades vermeiden.
-
Wenn es Inkompatibilitäten gibt, RDS verhindert Amazon das Upgrade und stellt Ihnen ein Protokoll zur Verfügung, in dem Sie mehr darüber erfahren können. Anschließend können Sie das Protokoll verwenden, um Ihre Datenbank auf das Upgrade auf My SQL 8.0 vorzubereiten, indem Sie die Inkompatibilitäten reduzieren. Ausführliche Informationen zum Entfernen von Inkompatibilitäten finden Sie unter Vorbereiten Ihrer Installation für das Upgrade
in den Abschnitten Meine SQL Dokumentation und Auf My 8.0 aktualisieren? SQL Folgendes müssen Sie wissen... auf dem My SQL Server-Blog.
Zu den Vorabprüfungen gehören einige, die in My enthalten sind, SQL und einige, die speziell vom RDS Amazon-Team erstellt wurden. Informationen zu den von My SQL bereitgestellten Vorabprüfungen finden Sie unter Upgrade Checker Utility
Die Vorabprüfungen werden ausgeführt, bevor die DB-Instance aufgrund des Upgrades angehalten wird. Sie verursachen also keine Ausfallzeiten. Wenn bei den Vorprüfungen eine Inkompatibilität festgestellt wird, bricht Amazon das Upgrade RDS automatisch ab, bevor die DB-Instance gestoppt wird. Amazon generiert RDS auch ein Ereignis für die Inkompatibilität. Weitere Informationen zu RDS Amazon-Veranstaltungen finden Sie unterMit RDS Amazon-Event-Benachrichtigungen arbeiten.
Amazon RDS zeichnet detaillierte Informationen zu jeder Inkompatibilität in der Protokolldatei PrePatchCompatibility.log
auf. In den meisten Fällen enthält der Protokolleintrag einen Link zu „Meine SQL Dokumentation“ zur Behebung der Inkompatibilität. Weitere Informationen zum Anzeigen von Protokolldateien finden Sie unter Anzeigen und Auflisten von Datenbank-Protokolldateien.
Aufgrund der Art der Vorabprüfungen werden die Objekte in Ihrer Datenbank geprüft. Diese Analyse verbraucht Ressourcen und verlängert die Zeit, die für die Durchführung des Upgrades benötigt wird.
Anmerkung
Amazon RDS führt all diese Vorabprüfungen nur für ein Upgrade von My SQL 5.7 auf My SQL 8.0 durch. Bei einem Upgrade von My SQL 5.6 auf My SQL 5.7 beschränken sich die Vorabprüfungen darauf, zu bestätigen, dass keine verwaisten Tabellen vorhanden sind und dass genügend Speicherplatz für die Neuerstellung von Tabellen vorhanden ist. Bei Upgrades auf Versionen vor My 5.7 werden keine Vorabprüfungen durchgeführt. SQL
Rollback nach einem fehlgeschlagenen Upgrade von My SQL 5.7 auf 8.0
Wenn Sie eine DB-Instance von My SQL Version 5.7 auf My SQL Version 8.0 aktualisieren, kann das Upgrade fehlschlagen. Insbesondere kann es scheitern, wenn das Datenwörterbuch Inkompatibilitäten enthält, die von den Vorprüfungen nicht erfasst wurden. In diesem Fall kann die Datenbank in der neuen My SQL 8.0-Version nicht erfolgreich gestartet werden. Zu diesem Zeitpunkt macht Amazon RDS die für das Upgrade vorgenommenen Änderungen rückgängig. Nach dem Rollback läuft auf der My SQL DB-Instance My SQL Version 5.7. Wenn ein Upgrade fehlschlägt und rückgängig gemacht wird, RDS generiert Amazon ein Ereignis mit der Ereignis-ID RDS EVENT -0188.
In der Regel schlägt ein Upgrade fehl, weil es Inkompatibilitäten in den Metadaten zwischen den Datenbanken in Ihrer DB-Instance und der My-Zielversion gibt. SQL Wenn ein Upgrade fehlschlägt, können Sie die Details zu diesen Inkompatibilitäten in der upgradeFailure.log
-Datei einsehen. Beheben Sie die Inkompatibilitäten, bevor Sie erneut versuchen, ein Upgrade durchzuführen.
Während eines erfolglosen Upgrade-Versuchs und Rollbacks wird Ihre DB-Instance neu gestartet. Alle ausstehenden Parameteränderungen werden während des Neustarts angewendet und bleiben nach dem Rollback bestehen.
Weitere Informationen zum Upgrade auf My SQL 8.0 finden Sie in den folgenden Themen in der Dokumentation MeineSQL:
Anmerkung
Derzeit wird das automatische Rollback nach einem fehlgeschlagenen Upgrade nur für Upgrades der SQL Hauptversionen My 5.7 auf 8.0 unterstützt.