Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Vérifiez les descriptions pour la mise à niveau d'Aurora MySQL version 3 vers la version 8.4
Les prévérifications suivantes sont exécutées lors de la mise à niveau d'Aurora MySQL version 3 (compatible avec MySQL 8.0) vers Aurora MySQL version 8.4 (compatible avec MySQL 8.4). Ces vérifications préliminaires identifient les problèmes de compatibilité potentiels avant le début de la mise à niveau.
Table des matières
Erreurs
Les vérifications préalables suivantes génèrent des erreurs lorsque la vérification préalable échoue et que la mise à niveau ne peut pas avoir lieu.
Rubriques
Vérifications préalables de MySQL qui signalent des erreurs
Les vérifications préalables suivantes sont tirées de Community MySQL :
- déprécié RouterAuthMethod
-
Niveau de vérification préalable : erreur
Vérifiez les méthodes d'authentification obsolètes ou non valides utilisées par les comptes internes de MySQL Router
Ce précontrôle vérifie que les comptes internes de MySQL Router n'utilisent pas de méthodes d'authentification obsolètes ou non valides qui peuvent être supprimées ou modifiées dans MySQL 8.4. Les comptes MySQL Router sont automatiquement créés au moment du démarrage lorsque le routeur n'est pas invité à utiliser un compte existant.
Exemple de sortie :
{ "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." } ] }La prévérification renvoie une erreur car le
mysql_router_testcompte utilise une méthode d'authentification obsolète telle que ou.mysql_native_passwordsha256_passwordPour vérifier la méthode d'authentification utilisée :
SELECT user, host, plugin FROM mysql.user WHERE user = 'mysql_router_test';Résolution :
Mettez à jour le compte MySQL Router pour utiliser
caching_sha2_passwordl'authentification :ALTER USER 'mysql_router_test'@'%' IDENTIFIED WITH caching_sha2_password BY 'new_password';Vous pouvez également mettre à niveau MySQL Router vers la dernière version pour vous assurer que les méthodes d'authentification obsolètes ne sont plus utilisées. Depuis la version 8.0.19, vous pouvez également demander à MySQL Router d'utiliser un compte dédié créé à l'aide de l'AdminAPI.
- cloisons WithPrefixKeys
-
Niveau de vérification préalable : erreur
Vérifie les partitions par clé à l'aide de colonnes avec des index de clé de préfixe
Ce précontrôle identifie les tables partitionnées qui utilisent des colonnes avec des index de clé de préfixe dans leur clé de partitionnement. Les index sur les préfixes de colonnes ne sont pas pris en charge pour le partitionnement des clés : ils sont ignorés par la fonction de partition et ne sont pas autorisés depuis MySQL 8.4.0.
Pour plus d'informations, consultez la section Restrictions et limitations relatives au partitionnement
dans la documentation MySQL. Exemple de sortie :
{ "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." } ] }Résolution :
-- 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; - Définition de colonne
-
Niveau de vérification préalable : erreur
Vérifie les erreurs dans les définitions de colonnes
Ce précontrôle vérifie que toutes les définitions de colonnes sont compatibles avec les exigences de MySQL 8.4. Il identifie spécifiquement les colonnes de type
FLOATouDOUBLEdont leAUTO_INCREMENTdrapeau est défini, ce qui n'est plus pris en charge dans MySQL 8.4.Exemple de sortie :
{ "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." } ] }Résolution :
Changez le type de colonne de
FLOATouDOUBLEvers un type entier :-- 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
Vérifications préalables d’Aurora MySQL qui signalent des erreurs
Les vérifications préalables suivantes sont spécifiques à Aurora MySQL :
- aurore UnsupportedPluginsCheck
-
Niveau de vérification préalable : erreur
Vérifiez les plugins non pris en charge
Cette Aurora-specific prévérification identifie les plugins qui ne sont pas pris en charge dans Aurora MySQL version 8.4. Aurora a des exigences spécifiques en matière de compatibilité des plugins qui diffèrent de celles de la communauté MySQL.
Exemple de sortie :
{ "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." } ] }Résolution :
Désinstallez les plugins non pris en charge :
UNINSTALL PLUGINplugin_name; - aurore UnsupportedComponentsCheck
-
Niveau de vérification préalable : erreur
Vérifiez les composants non pris en charge
Ce précontrôle vérifie qu'aucun composant MySQL non pris en charge dans la version 8.4 d'Aurora MySQL n'est actuellement installé ou actif. Les composants sont différents des plugins et fournissent des fonctionnalités étendues grâce à l'infrastructure des composants.
Exemple de sortie :
{ "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." } ] }Résolution :
Désinstallez les composants non pris en charge :
UNINSTALL COMPONENT 'component_name'; - aurore UpgradeCheckForSysSchemaObjectTypeMismatch
-
Niveau de vérification préalable : erreur
Vérifiez que le type d'objet ne correspond pas au schéma sys
Cette prévérification permet de vérifier que tous les objets du
sysschéma possèdent les types d'objets et les définitions corrects. Le schéma système est un schéma système qui fournit des vues et des procédures pour la surveillance et le diagnostic des bases de données. Des incohérences peuvent se produire si le schéma a été modifié ou endommagé manuellement.Exemple de sortie :
{ "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)." } ] }Résolution :
-- 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;
Avertissements
Les vérifications préalables suivantes génèrent des avertissements en cas d’échec, mais la mise à niveau peut tout de même avoir lieu.
Rubriques
Vérifications préalables de MySQL qui signalent des avertissements
Les vérifications préalables suivantes sont tirées de Community MySQL :
- déprécié DefaultAuth
-
Niveau de vérification préalable : avertissement
Vérifiez les méthodes d'authentification par défaut obsolètes ou non valides dans les variables système
Ce précontrôle vérifie que la variable
default_authentication_pluginsystème n'est pas définie sur des méthodes d'authentification obsolètes.Important
MySQL 8.4.0 supprime complètement l'option obsolète.
default_authentication_pluginLemysql_native_passwordplugin est désactivé par défaut à partir de MySQL 8.4.0 et est susceptible d'être supprimé dans une future version.Pour plus d'informations sur les modifications apportées à l'authentification dans la version 8.4, consultezConsidérations relatives à la sécurité lors de la mise à niveau d'Aurora MySQL version 3 vers la version 8.4.
Exemple de sortie :
{ "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." } ] }Résolution :
Mettez à jour les variables du système d'authentification à utiliser
caching_sha2_password:-
Accédez à la console Amazon RDS et accédez aux groupes de paramètres.
-
Sélectionnez le groupe de paramètres de votre cluster de base de données.
-
Modifiez les paramètres suivants :
-
default_authentication_plugin=caching_sha2_password -
authentication_policy=caching_sha2_password,*,
-
-
Appliquez les modifications. Un redémarrage peut être nécessaire.
Assurez-vous que les clients de votre application prennent en charge
caching_sha2_passwordl'authentification avant d'effectuer cette modification. Certaines anciennes bibliothèques clientes MySQL peuvent ne pas prendre en charge cette méthode d'authentification. -
- étranger KeyReferences
-
Niveau de vérification préalable : avertissement
Vérifie la présence de clés étrangères ne faisant pas référence à un index unique complet
Cette prévérification garantit que toutes les contraintes de clé étrangère font référence à des index complets de clés uniques ou primaires. Les clés étrangères pour les index partiels peuvent être interdites à partir de MySQL 8.4.0.
Exemple de sortie :
{ "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'." } ] }Résolution :
Choisissez l'option qui convient le mieux à votre application :
-- 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;
Vérifications préalables d’Aurora MySQL qui signalent des avertissements
Les vérifications préalables suivantes sont spécifiques à Aurora MySQL :
- aurore ValidatePasswordPluginCheck
-
Niveau de vérification préalable : avertissement
Vérifiez si le plugin validate_password est obsolète
Ce précontrôle identifie l'utilisation du plugin obsolète
validate_password. Dans MySQL 8.0+, la fonctionnalité validate_password a été réimplémentée en tant que component ().component_validate_passwordLa version 8.4 d'Aurora MySQL nécessite une migration vers l'implémentation basée sur les composants.Pour de plus amples informations, veuillez consulter Migration du composant de validation de mot de.
Exemple de sortie :
{ "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." } ] }Résolution :
-- 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%';
Notifications
La vérification préalable suivante génère une notification en cas d’échec, mais la mise à niveau peut tout de même avoir lieu.
- Privilèges non valides
-
Niveau de vérification préalable : notification
Vérifie les privilèges utilisateur qui seront supprimés
Cette prévérification identifie les comptes utilisateurs dotés de privilèges qui sont supprimés ou modifiés dans MySQL 8.4. Le
SET_USER_IDprivilège est supprimé dans le cadre du processus de mise à niveau. Si les privilèges ne sont pas utilisés, aucune action n'est requise. Sinon, assurez-vous qu'ils cessent d'être utilisés avant la mise à niveau, car ils seront perdus.Exemple de sortie :
{ "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" } ] }Résolution :
Il s'agit d'un avis d'information, aucune action n'est requise. Le
SET_USER_IDprivilège sera automatiquement supprimé au cours du processus de mise à niveau.Toutefois, si votre application repose sur ce
SET_USER_IDprivilège, passez en revue et mettez-la à jour avant de procéder à la mise à niveau.
Erreurs, avertissements ou notifications
Les prévérifications suivantes peuvent renvoyer une erreur, un avertissement ou un avis en fonction du résultat de la prévérification.
- auth MethodUsage
-
Niveau de vérification préalable : erreur, avertissement ou notification
Vérifiez les méthodes d'authentification utilisateur obsolètes ou non valides
Cette prévérification identifie les comptes utilisateurs utilisant des méthodes d'authentification qui sont obsolètes ou qui seront supprimées dans MySQL 8.4. Le plugin
mysql_native_passwordd'authentification est obsolète et désactivé par défaut à partir de MySQL 8.4.0. Le plugin est susceptible d'être supprimé dans une future version.Le niveau de gravité est dynamique en fonction du cycle de vie de la fonctionnalité : avis avant la dépréciation, avertissement après dépréciation, erreur après suppression.
Exemple de sortie :
{ "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": "" } ] }Résolution :
Mettez à jour les comptes utilisateurs pour utiliser
caching_sha2_passwordl'authentification :ALTER USER 'username'@'host' IDENTIFIED WITH caching_sha2_password BY 'new_password';Note
Aucune action n'est requise pour les comptes du système interne d'Aurora. Ils sont automatiquement mis à jour au cours du processus de mise à niveau. Toute tentative de modification manuelle de ces comptes peut entraîner des problèmes avec les fonctionnalités d'Aurora.
- Utilisation du plugin
-
Niveau de vérification préalable : erreur, avertissement ou notification
Vérifiez si l'utilisation du plugin est obsolète ou supprimée
Ce précontrôle identifie les plugins qui ont été déconseillés ou supprimés dans MySQL 8.4. Il examine tous les plugins actifs et indique leur statut d'obsolescence. Le niveau de gravité est dynamique en fonction du cycle de vie des fonctionnalités.
Exemple de sortie :
{ "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." } ] }Résolution :
Désinstallez les plugins obsolètes et installez leurs composants de remplacement :
-- 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%';Le tableau suivant répertorie les plug-ins obsolètes et leurs remplacements :
Plugin Remplacement keyring_filecomponent_keyring_filekeyring_encrypted_filecomponent_keyring_encrypted_filekeyring_ocicomponent_keyring_ociauthentication_fidoauthentication_webauthn - vérifier TableCommand
-
Niveau de vérification préalable : erreur, avertissement ou notification
Problèmes signalés par la commande
check table x for upgradeCe précontrôle exécute la
CHECK TABLE ... FOR UPGRADEcommande sur toutes les tables utilisateur pour identifier les problèmes structurels, les fonctionnalités obsolètes ou les incompatibilités avec MySQL 8.4. La commande effectue une validation complète de la structure des tables et des métadonnées.Contrairement aux autres vérifications préalables, celle-ci peut renvoyer une erreur, un avertissement ou une notification en fonction de la sortie
CHECK TABLE. Si cette prévérification renvoie des tables, examinez-les attentivement, ainsi que le code de retour et le message, avant de lancer la mise à niveau.Exemple de sortie :
{ "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" } ] }Résolution :
Passez en revue les objets signalés et corrigez-les ou supprimez-les avant de procéder à la mise à niveau. Les problèmes courants comprennent :
-
Vues faisant référence à des tables ou à des colonnes non valides : supprimez ou recréez la vue.
-
Tables endommagées : exécutez
REPAIR TABLEou recréez la table. -
Déclencheurs dont l'
CREATEDattribut est manquant : recréez le déclencheur.
Pour plus d’informations, consultez Instruction CHECK TABLE
dans la documentation MySQL. -