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.
Precheck-Beschreibungen für das Upgrade von Aurora MySQL Version 3 auf Version 8.4
Die folgenden Vorprüfungen werden ausgeführt, wenn Sie von Aurora MySQL Version 3 (kompatibel mit MySQL 8.0) auf Aurora MySQL Version 8.4 (kompatibel mit MySQL 8.4) aktualisieren. Diese Vorprüfungen identifizieren potenzielle Kompatibilitätsprobleme, bevor das Upgrade beginnt.
Inhalt
Fehler
Die folgenden Vorabprüfungen generieren Fehler, wenn die Vorabprüfung fehlschlägt und das Upgrade nicht fortgesetzt werden kann.
MySQL-Vorabprüfungen, die Fehler melden
Die folgenden Vorabprüfungen stammen von Community MySQL:
- veraltet RouterAuthMethod
-
Stufe der Vorabprüfung: Fehler
Suchen Sie nach veralteten oder ungültigen Authentifizierungsmethoden, die von internen MySQL Router-Konten verwendet werden
Diese Vorabprüfung bestätigt, dass interne MySQL-Router-Konten keine veralteten oder ungültigen Authentifizierungsmethoden verwenden, die in MySQL 8.4 entfernt oder geändert werden können. MySQL-Router-Konten werden automatisch beim Bootstrap-Zeitpunkt erstellt, wenn der Router nicht angewiesen wird, ein vorhandenes Konto zu verwenden.
Beispielausgabe:
{ "id": "deprecatedRouterAuthMethod", "title": "Check for deprecated or invalid authentication methods in use by MySQL Router internal accounts.", "status": "OK", "description": "Warning: The following accounts are MySQL Router accounts that use a deprecated authentication method.\nThose accounts are automatically created at bootstrap time when the Router is not instructed to use an existing account. Please upgrade MySQL Router to the latest version to ensure deprecated authentication methods are no longer used.\nSince version 8.0.19 it's also possible to instruct MySQL Router to use a dedicated account. That account can be created using the AdminAPI.", "documentationLink": "https://dev.mysql.com/doc/mysql-shell/en/configuring-router-user.html https://dev.mysql.com/doc/mysql-router/en/mysqlrouter.html#option_mysqlrouter_account", "detectedProblems": [ { "level": "Error", "dbObject": "mysql_router_test@%", "description": " - router user with deprecated authentication method." } ] }Bei der Vorabprüfung wird ein Fehler zurückgegeben, da das
mysql_router_testKonto eine veraltete Authentifizierungsmethode wie oder verwendet.mysql_native_passwordsha256_passwordGehen Sie wie folgt vor, um die verwendete Authentifizierungsmethode zu überprüfen:
SELECT user, host, plugin FROM mysql.user WHERE user = 'mysql_router_test';Auflösung
Aktualisieren Sie das MySQL Router-Konto, um die
caching_sha2_passwordAuthentifizierung zu verwenden:ALTER USER 'mysql_router_test'@'%' IDENTIFIED WITH caching_sha2_password BY 'new_password';Alternativ können Sie MySQL Router auf die neueste Version aktualisieren, um sicherzustellen, dass veraltete Authentifizierungsmethoden nicht mehr verwendet werden. Seit Version 8.0.19 können Sie MySQL Router auch anweisen, ein spezielles Konto zu verwenden, das mit der AdminAPI erstellt wurde.
- Partitionen WithPrefixKeys
-
Stufe der Vorabprüfung: Fehler
Sucht anhand des Schlüssels anhand von Spalten mit Präfixschlüsselindizes nach Partitionen
Diese Vorabprüfung identifiziert partitionierte Tabellen, die Spalten mit Präfixschlüsselindizes in ihrem Partitionierungsschlüssel verwenden. Indizes für Spaltenpräfixe werden für die Schlüsselpartitionierung nicht unterstützt — sie werden von der Partitionsfunktion ignoriert und sind ab MySQL 8.4.0 nicht mehr zulässig.
Weitere Informationen finden Sie unter Einschränkungen und Einschränkungen bei der Partitionierung
in der MySQL-Dokumentation. Beispielausgabe:
{ "id": "partitionsWithPrefixKeys", "title": "Checks for partitions by key using columns with prefix key indexes", "status": "OK", "description": "Indexes on column prefixes are not supported for key partitioning, they are ignored by the partition function and so they are not allowed as of 8.4.0. This check identifies tables with partitions defined this way, they should be fixed before upgrading to 8.4.0.", "documentationLink": "https://dev.mysql.com/doc/refman/en/partitioning-limitations.html", "detectedProblems": [ { "level": "Error", "dbObject": "test.test_partition_prefix", "description": "Error: the `test`.`test_partition_prefix` table uses partition by KEY using the following columns with prefix index: name." } ] }Auflösung
-- Check for prefix indexes (Sub_part column shows prefix length) SHOW INDEX FROM test.test_partition_prefix; -- Option 1: Change partition to use non-prefix columns only ALTER TABLE test.test_partition_prefix PARTITION BY KEY (id) PARTITIONS 4; -- Option 2: Remove prefix from index ALTER TABLE test.test_partition_prefix DROP PRIMARY KEY, ADD PRIMARY KEY (id, name); -- Full column, no prefix -- Option 3: Remove partitioning ALTER TABLE test.test_partition_prefix REMOVE PARTITIONING; - Spaltendefinition
-
Stufe der Vorabprüfung: Fehler
Überprüft die Spaltendefinitionen auf Fehler
Diese Vorabprüfung bestätigt, dass alle Spaltendefinitionen mit den Anforderungen von MySQL 8.4 kompatibel sind. Es identifiziert speziell Spalten vom Typ
FLOAToderDOUBLEmit gesetztemAUTO_INCREMENTFlag, was in MySQL 8.4 nicht mehr unterstützt wird.Beispielausgabe:
{ "id": "columnDefinition", "title": "Checks for errors in column definitions", "status": "OK", "description": "Identifies column definitions that may not be supported in future versions of MySQL", "detectedProblems": [ { "level": "Error", "dbObject": "test.test_column_def.id", "description": "The column is of type FLOAT and has the AUTO_INCREMENT flag set, this is no longer supported." } ] }Auflösung
Ändern Sie den Spaltentyp von
FLOAToderDOUBLEin einen Integer-Typ:-- Check current definition SHOW CREATE TABLE test.test_column_def\G -- Change FLOAT AUTO_INCREMENT to BIGINT AUTO_INCREMENT ALTER TABLE test.test_column_def MODIFY COLUMN id BIGINT NOT NULL AUTO_INCREMENT; -- Verify SHOW CREATE TABLE test.test_column_def\G
Aurora-MySQL-Vorabprüfungen, die Fehler melden
Die folgenden Vorabprüfungen sind spezifisch für Aurora MySQL:
- Aurora UnsupportedPluginsCheck
-
Stufe der Vorabprüfung: Fehler
Suchen Sie nach nicht unterstützten Plugins
Diese Aurora-specific Vorabprüfung identifiziert Plugins, die in Aurora MySQL Version 8.4 nicht unterstützt werden. Aurora hat spezielle Plugin-Kompatibilitätsanforderungen, die sich von denen der MySQL-Community unterscheiden.
Beispielausgabe:
{ "id": "auroraUnsupportedPluginsCheck", "title": "Check for unsupported plugins", "status": "OK", "description": "Checks for unsupported plugins installed in the database", "documentationLink": "https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/", "detectedProblems": [ { "level": "Error", "dbObject": "all", "description": "Plugin simple_parser loaded in the engine. To proceed with the upgrade, remove this plugin." } ] }Auflösung
Deinstallieren Sie die nicht unterstützten Plugins:
UNINSTALL PLUGINplugin_name; - Aurora UnsupportedComponentsCheck
-
Stufe der Vorabprüfung: Fehler
Suchen Sie nach nicht unterstützten Komponenten
Diese Vorabprüfung bestätigt, dass derzeit keine MySQL-Komponenten installiert oder aktiv sind, die in Aurora MySQL Version 8.4 nicht unterstützt werden. Komponenten unterscheiden sich von Plugins und bieten erweiterte Funktionen über die Komponenteninfrastruktur.
Beispielausgabe:
{ "id": "auroraUnsupportedComponentsCheck", "title": "Check for unsupported components", "status": "OK", "description": "Checks for unsupported components installed in the database", "documentationLink": "https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/", "detectedProblems": [ { "level": "Error", "dbObject": "all", "description": "Component file://component_log_sink_json loaded in the engine. To proceed with the upgrade, uninstall this component." } ] }Auflösung
Deinstallieren Sie die nicht unterstützten Komponenten:
UNINSTALL COMPONENT 'component_name'; - Aurora UpgradeCheckForSysSchemaObjectTypeMismatch
-
Stufe der Vorabprüfung: Fehler
Überprüfen Sie die Nichtübereinstimmung des Objekttyps für das sys-Schema
Diese Vorabprüfung überprüft, ob alle Objekte im
sysSchema die richtigen Objekttypen und Definitionen haben. Das sys-Schema ist ein Systemschema, das Ansichten und Verfahren für die Datenbanküberwachung und -diagnose bereitstellt. Nichtübereinstimmungen können auftreten, wenn das Schema manuell geändert oder beschädigt wurde.Beispielausgabe:
{ "id": "auroraUpgradeCheckForSysSchemaObjectTypeMismatch", "title": "Check object type mismatch for sys schema.", "status": "OK", "description": "Database contains objects with type mismatch for sys schema.", "detectedProblems": [ { "level": "Error", "dbObject": "sys.host_summary", "description": "Your object sys.host_summary has a type mismatch. To fix the inconsistency we recommend to rename or remove the object before upgrading (use RENAME TABLE command)." } ] }Auflösung
-- Check the object type SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.tables WHERE TABLE_SCHEMA = 'sys' AND TABLE_NAME = 'host_summary'; -- Option 1: Rename the mismatched object RENAME TABLE sys.host_summary TO sys.host_summary_backup; -- Option 2: Drop the mismatched object DROP TABLE sys.host_summary;
Warnungen
Die folgenden Vorabprüfungen generieren Warnungen, wenn die Vorabprüfung fehlschlägt, aber das Upgrade kann fortgesetzt werden.
MySQL-Vorabprüfungen, die Warnungen melden
Die folgenden Vorabprüfungen stammen von Community MySQL:
- veraltet DefaultAuth
-
Stufe der Vorabprüfung: Warnung
Suchen Sie in den Systemvariablen nach veralteten oder ungültigen Standardauthentifizierungsmethoden
Diese Vorabprüfung bestätigt, dass die
default_authentication_pluginSystemvariable nicht auf veraltete Authentifizierungsmethoden gesetzt ist.Wichtig
MySQL 8.4.0 entfernt die veraltete Option vollständig.
default_authentication_pluginDasmysql_native_passwordPlugin ist ab MySQL 8.4.0 standardmäßig deaktiviert und kann in einer future Version entfernt werden.Weitere Hinweise zu Änderungen an der Authentifizierung in Version 8.4 finden Sie unterSicherheitsüberlegungen für das Upgrade von Aurora MySQL Version 3 auf Version 8.4.
Beispielausgabe:
{ "id": "deprecatedDefaultAuth", "title": "Check for deprecated or invalid default authentication methods in system variables.", "status": "OK", "description": "The following variables have problems with their set authentication method:", "detectedProblems": [ { "level": "Warning", "dbObject": "default_authentication_plugin", "description": "mysql_native_password authentication method is deprecated and it should be considered to correct this before upgrading to 8.4.0 release." }, { "level": "Warning", "dbObject": "authentication_policy", "description": "mysql_native_password authentication method is deprecated and it should be considered to correct this before upgrading to 8.4.0 release." } ] }Auflösung
Aktualisieren Sie die zu verwendenden Authentifizierungssystemvariablen
caching_sha2_password:-
Gehen Sie zur Amazon RDS-Konsole und navigieren Sie zu Parametergruppen.
-
Wählen Sie Ihre DB-Cluster-Parametergruppe aus.
-
Ändern Sie die folgenden Parameter:
-
default_authentication_plugin=caching_sha2_password -
authentication_policy=caching_sha2_password,*,
-
-
Wenden Sie die Änderungen an. Möglicherweise ist ein Neustart erforderlich.
Stellen Sie sicher, dass Ihre Anwendungsclients die
caching_sha2_passwordAuthentifizierung unterstützen, bevor Sie diese Änderung vornehmen. Einige ältere MySQL-Clientbibliotheken unterstützen diese Authentifizierungsmethode möglicherweise nicht. -
- fremd KeyReferences
-
Stufe der Vorabprüfung: Warnung
Sucht nach Fremdschlüsseln, die nicht auf einen vollständigen eindeutigen Index verweisen
Diese Vorabprüfung stellt sicher, dass alle Fremdschlüsseleinschränkungen auf vollständige eindeutige Indizes oder Primärschlüsselindizes verweisen. Fremdschlüssel für Teilindizes sind ab MySQL 8.4.0 möglicherweise verboten.
Beispielausgabe:
{ "id": "foreignKeyReferences", "title": "Checks for foreign keys not referencing a full unique index", "status": "OK", "description": "Foreign keys to partial indexes may be forbidden as of 8.4.0, this check identifies such cases to warn the user.", "detectedProblems": [ { "level": "Warning", "dbObject": "sample.child_table_ibfk_1", "description": "invalid foreign key defined as 'child_table(parent_name)' references a non unique key at table 'parent_table'." } ] }Auflösung
Wählen Sie die Option, die am besten zu Ihrer Anwendung passt:
-- Option 1: Add unique index on parent table (if values are unique) ALTER TABLE test.parent_table ADD UNIQUE INDEX idx_parent_name_unique (parent_name); -- Option 2: Drop the foreign key if not needed ALTER TABLE test.child_table DROP FOREIGN KEY child_table_ibfk_1;
Aurora-MySQL-Vorabprüfungen, die Warnungen melden
Die folgenden Vorabprüfungen sind spezifisch für Aurora MySQL:
- Aurora ValidatePasswordPluginCheck
-
Stufe der Vorabprüfung: Warnung
Suchen Sie nach dem veralteten validate_password-Plugin
Diese Vorabprüfung identifiziert die Verwendung des veralteten Plugins.
validate_passwordIn MySQL 8.0+ wurde die validate_password-Funktionalität als Komponente () neu implementiert.component_validate_passwordAurora MySQL Version 8.4 erfordert eine Migration zur komponentenbasierten Implementierung.Weitere Informationen finden Sie unter Migration der Komponenten zur Passwortvalidierung.
Beispielausgabe:
{ "id": "auroraValidatePasswordPluginCheck", "title": "Check for deprecated validate_password plugin", "status": "OK", "description": "The validate_password plugin is deprecated in Aurora MySQL 8.4", "detectedProblems": [ { "level": "Warning", "dbObject": "validate_password", "description": "The validate_password plugin is deprecated and will be removed in a future release. It is recommended to transition to the validate_password component." } ] }Auflösung
-- Check current plugin status SELECT plugin_name, plugin_status FROM information_schema.plugins WHERE plugin_name = 'validate_password'; -- Uninstall the plugin UNINSTALL PLUGIN validate_password; -- Install the component replacement INSTALL COMPONENT 'file://component_validate_password'; -- Verify SELECT * FROM mysql.component WHERE component_urn LIKE '%validate_password%';
Hinweise
Die folgende Vorabprüfung generiert einen Hinweis, wenn die Vorabprüfung fehlschlägt, aber das Upgrade kann fortgesetzt werden.
- Ungültige Rechte
-
Stufe der Vorabprüfung: Hinweis
Sucht nach Benutzerberechtigungen, die entfernt werden
Diese Vorabprüfung identifiziert Benutzerkonten mit Rechten, die in MySQL 8.4 entfernt oder geändert werden. Die
SET_USER_IDBerechtigung wird im Rahmen des Upgrade-Vorgangs entfernt. Wenn die Rechte nicht verwendet werden, ist keine Aktion erforderlich. Stellen Sie andernfalls sicher, dass sie vor dem Upgrade nicht mehr verwendet werden, da sie sonst verloren gehen.Beispielausgabe:
{ "id": "invalidPrivileges", "title": "Checks for user privileges that will be removed", "status": "OK", "description": "Verifies for users containing grants to be removed as part of the upgrade process.", "detectedProblems": [ { "level": "Notice", "dbObject": "'test_user'@'localhost'", "description": "The user 'test_user'@'localhost' has the following privileges that will be removed as part of the upgrade process: SET_USER_ID" } ] }Auflösung
Dies ist ein informativer Hinweis — es sind keine Maßnahmen erforderlich. Die
SET_USER_IDBerechtigung wird während des Upgrade-Vorgangs automatisch entfernt.Wenn Ihre Anwendung jedoch auf diese
SET_USER_IDBerechtigung angewiesen ist, überprüfen und aktualisieren Sie Ihre Anwendung vor dem Upgrade.
Fehler, Warnungen oder Hinweise
Bei den folgenden Vorprüfungen kann es je nach Ergebnis der Vorabprüfung zu einem Fehler, einer Warnung oder einem Hinweis kommen.
- authentifizieren MethodUsage
-
Stufe der Vorabprüfung: Fehler, Warnung oder Hinweis
Suchen Sie nach veralteten oder ungültigen Benutzerauthentifizierungsmethoden
Diese Vorabprüfung identifiziert Benutzerkonten, die Authentifizierungsmethoden verwenden, die veraltet sind oder in MySQL 8.4 entfernt werden. Das
mysql_native_passwordAuthentifizierungs-Plugin ist veraltet und ab MySQL 8.4.0 standardmäßig deaktiviert. Das Plugin kann in einer future Version entfernt werden.Der Schweregrad ist dynamisch und basiert auf dem Lebenszyklus der Funktion — Hinweis vor dem Verfall, Warnung nach dem Verfall, Fehler nach dem Entfernen.
Beispielausgabe:
{ "id": "authMethodUsage", "title": "Check for deprecated or invalid user authentication methods.", "status": "OK", "description": "Some users are using authentication methods that may be deprecated or removed, please review the details below.", "detectedProblems": [ { "level": "Warning", "dbObject": "testuser@localhost", "description": "" } ] }Auflösung
Aktualisieren Sie die Benutzerkonten, um die Authentifizierung zu verwenden:
caching_sha2_passwordALTER USER 'username'@'host' IDENTIFIED WITH caching_sha2_password BY 'new_password';Anmerkung
Für interne Aurora-Systemkonten sind keine Maßnahmen erforderlich. Sie werden während des Upgrade-Vorgangs automatisch aktualisiert. Der Versuch, diese Konten manuell zu ändern, kann zu Problemen mit der Aurora-Funktionalität führen.
- Verwendung des Plugins
-
Stufe der Vorabprüfung: Fehler, Warnung oder Hinweis
Suchen Sie nach veralteter oder entfernter Plugin-Nutzung
Diese Vorabprüfung identifiziert Plugins, die in MySQL 8.4 veraltet oder entfernt wurden. Sie untersucht alle aktiven Plugins und meldet ihren Status als veraltet. Der Schweregrad ist je nach Funktionslebenszyklus dynamisch.
Beispielausgabe:
{ "id": "pluginUsage", "title": "Check for deprecated or removed plugin usage.", "status": "OK", "description": "The following plugins are ACTIVE and they have been deprecated or removed.", "detectedProblems": [ { "level": "Error", "dbObject": "keyring_file", "description": "The 'keyring_file' plugin is removed as of MySQL 8.4.0. It must not be used anymore, please use the 'component_keyring_file' component instead." } ] }Auflösung
Deinstallieren Sie veraltete Plug-ins und installieren Sie deren Ersatzkomponenten:
-- Check installed plugins SELECT plugin_name, plugin_status FROM information_schema.plugins WHERE plugin_name IN ('keyring_file', 'keyring_encrypted_file', 'keyring_oci', 'authentication_fido'); -- Uninstall and replace (example for keyring_file) UNINSTALL PLUGIN keyring_file; INSTALL COMPONENT 'file://component_keyring_file'; -- Verify SELECT * FROM mysql.component WHERE component_urn LIKE '%keyring%';In der folgenden Tabelle sind veraltete Plug-ins und ihre Ersatzmodule aufgeführt:
Plug-In Ersatz keyring_filecomponent_keyring_filekeyring_encrypted_filecomponent_keyring_encrypted_filekeyring_ocicomponent_keyring_ociauthentication_fidoauthentication_webauthn - überprüfen TableCommand
-
Stufe der Vorabprüfung: Fehler, Warnung oder Hinweis
Probleme, die vom Befehl
check table x for upgradegemeldet wurdenBei dieser Vorabprüfung wird der
CHECK TABLE ... FOR UPGRADEBefehl für alle Benutzertabellen ausgeführt, um strukturelle Probleme, veraltete Funktionen oder Inkompatibilitäten mit MySQL 8.4 zu identifizieren. Der Befehl führt eine umfassende Überprüfung der Tabellenstruktur und der Metadaten durch.Im Gegensatz zu anderen Vorabprüfungen kann sie je nach
CHECK TABLE-Ausgabe einen Fehler, eine Warnung oder einen Hinweis zurückgeben. Wenn bei dieser Vorabprüfung Tabellen zurückgegeben werden, überprüfen Sie diese zusammen mit dem Rückgabecode und der Meldung sorgfältig, bevor Sie das Upgrade starten.Beispielausgabe:
{ "id": "checkTableCommand", "title": "Issues reported by 'check table x for upgrade' command", "status": "OK", "description": "Issues reported by 'check table x for upgrade' command", "detectedProblems": [ { "level": "Error", "dbObject": "test.orphaned_view", "description": "View 'test.orphaned_view' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them" }, { "level": "Error", "dbObject": "test.orphaned_view", "description": "Corrupt" } ] }Auflösung
Überprüfen Sie die gemeldeten Objekte und korrigieren oder entfernen Sie sie, bevor Sie das Upgrade durchführen. Häufige Probleme sind unter anderem:
-
Ansichten, die auf ungültige Tabellen oder Spalten verweisen — löschen Sie die Ansicht oder erstellen Sie sie neu.
-
Beschädigte Tabellen
REPAIR TABLE— führen Sie die Tabelle aus oder erstellen Sie sie neu. -
Trigger mit fehlendem
CREATEDAttribut — erstellen Sie den Trigger neu.
Weitere Informationen finden Sie unter CHECK-TABLE-Anweisung
in der MySQL-Dokumentation. -