Voraussetzungen
Für ein High-Availability-DB-System ist eine High-Availability-kompatible Konfiguration erforderlich. Da das High Availability-Feature des DB-Systems die Gruppenreplikation MySQL verwendet, muss jede Tabelle einen Primärschlüssel aufweisen. Wenn Sie versuchen, eine Tabelle ohne Primärschlüssel in einem High Availability-DB-System zu erstellen, schlägt dies fehl.
Wenn Sie mit der Konsole High Availability für ein DB-System aktivieren, müssen Sie auch die automatische Speichererweiterung aktivieren. Diese Anforderung gilt nicht in der CLI oder REST-API.
Alle Standardkonfigurationen, die mit High Availability kompatibel sind, haben das HA-Suffix im Konfigurationsnamen. Wenn Sie eine benutzerdefinierte Konfiguration erstellen möchten, die High Availability unterstützt, müssen Sie die Methode Konfiguration kopieren verwenden, um aus einer vorhandenen Konfiguration zu kopieren, die High Availability unterstützt. Siehe Konfiguration kopieren.
Wenn Sie Daten in HeatWave migrieren und keine Primärschlüssel in Ihren Tabellen definiert haben, müssen Sie diese hinzufügen. Prüfen Sie die Tabellen auf Primärschlüssel, und fügen Sie den Tabellen Schlüssel hinzu, die keine enthalten:
- Tabellen mit einem Befehlszeilenclient auf Primärschlüssel prüfen
- Fügen Sie Primärschlüssel mit einer der folgenden Methoden hinzu:
- Mit unsichtbaren Spalten: Siehe Primärschlüssel mit einem Befehlszeilenclient manuell hinzufügen.
Hinweis
Wenn Sie Primärschlüssel zu unsichtbaren Spalten hinzufügen, können Sie vorhandene Daten ohne größere Auswirkungen zur Verwendung mit einem High-Availability-DB-System aktualisieren. Der Vorgang ist für Ihre Anwendungen transparent. Die neue Spalte bleibt ausSELECT
-Abfragen ausgeblendet, sodass Ihre Anwendungen wie zuvor weiterarbeiten können. - Mit dem MySQL Shell-Dumputility: Siehe
create_invisible_pks
unter MySQL Shell-Dumputility. - Mit dem MySQL Shell-Ladeutility: Siehe
createInvisiblePKs
unter MySQL Shell-Ladeutility.Hinweis
Um MySQL Shell-Dump- und -Load-Utility zu verwenden, verwenden Sie MySQL Shell-Version 8.0.30 oder höher. - Variable
sql_generate_invisible_primary_key
verwenden: Setzen Sie die Variable aufON
, um Primärschlüssel zu neuen Tabellen hinzuzufügen, die Sie erstellen. Wenn Sie die Variable aufON
setzen, werden den bereits vorhandenen Tabellen keine Primärschlüssel hinzugefügt. Siehe Unsichtbare Primärschlüssel generieren.
- Mit unsichtbaren Spalten: Siehe Primärschlüssel mit einem Befehlszeilenclient manuell hinzufügen.
Tabellen mit einem Befehlszeilenclient auf Primärschlüssel prüfen
Verwenden Sie einen Befehlszeilenclient wie MySQL-Client oder MySQL-Shell, um die Tabellen nach Primärschlüsseln zu prüfen und diejenigen aufzulisten, die keine Primärschlüssel enthalten. Primärschlüssel sind Voraussetzung für die Gruppenreplikation, die von High Availability verwendet wird.
Primärschlüssel mit einem Befehlszeilenclient manuell hinzufügen
Über einen Befehlszeilenclient wie MySQL-Client oder MySQL Shell können Sie Primärschlüssel zu unsichtbaren Spalten hinzufügen.
- MySQL-Version 8.0.23 oder höher. Unsichtbare Spalten wurden in Version 8.0.23 eingeführt.
Verwandte Themen