Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Verifica preliminarmente le descrizioni per l'aggiornamento di Aurora MySQL dalla versione 3 alla versione 8.4
I seguenti precontrolli vengono eseguiti quando si esegue l'aggiornamento da Aurora MySQL versione 3 (compatibile con MySQL 8.0) ad Aurora MySQL versione 8.4 (compatibile con MySQL 8.4). Questi controlli preliminari identificano potenziali problemi di compatibilità prima dell'inizio dell'aggiornamento.
Indice
Errori
In caso di esito negativo, i seguenti controlli preliminari generano errori e l’aggiornamento non può essere eseguito.
Argomenti
Controlli preliminari MySQL che restituiscono errori
I seguenti controlli preliminari sono forniti da Community MySQL:
- deprecato RouterAuthMethod
-
Livello di controllo preliminare: errore
Verifica la presenza di metodi di autenticazione obsoleti o non validi utilizzati dagli account interni di MySQL Router
Questo precontrollo verifica che gli account interni di MySQL Router non utilizzino metodi di autenticazione obsoleti o non validi che possono essere rimossi o modificati in MySQL 8.4. Gli account MySQL Router vengono creati automaticamente al momento del bootstrap quando al Router non viene richiesto di utilizzare un account esistente.
Output di esempio:
{ "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." } ] }Il precontrollo restituisce un errore perché l'
mysql_router_testaccount utilizza un metodo di autenticazione obsoleto come o.mysql_native_passwordsha256_passwordPer verificare il metodo di autenticazione in uso:
SELECT user, host, plugin FROM mysql.user WHERE user = 'mysql_router_test';Risoluzione:
Aggiorna l'account MySQL Router per utilizzare l'autenticazione:
caching_sha2_passwordALTER USER 'mysql_router_test'@'%' IDENTIFIED WITH caching_sha2_password BY 'new_password';In alternativa, aggiorna MySQL Router alla versione più recente per garantire che i metodi di autenticazione obsoleti non vengano più utilizzati. Dalla versione 8.0.19, puoi anche indicare a MySQL Router di utilizzare un account dedicato creato utilizzando AdminAPI.
- partizioni WithPrefixKeys
-
Livello di controllo preliminare: errore
Controlla le partizioni per chiave utilizzando colonne con indici di chiave prefissi
Questo precontrollo identifica le tabelle partizionate che utilizzano colonne con indici di chiave di prefisso nella chiave di partizionamento. Gli indici sui prefissi di colonna non sono supportati per il partizionamento delle chiavi: vengono ignorati dalla funzione di partizione e non sono consentiti a partire da MySQL 8.4.0.
Per ulteriori informazioni, consulta Restrizioni e limitazioni sul partizionamento nella documentazione
di MySQL. Output di esempio:
{ "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." } ] }Risoluzione:
-- 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; - Definizione della colonna
-
Livello di controllo preliminare: errore
Verifica la presenza di errori nelle definizioni delle colonne
Questo precontrollo verifica che tutte le definizioni delle colonne siano compatibili con i requisiti di MySQL 8.4. Identifica specificamente le colonne di tipo
FLOAToDOUBLEcon il set diAUTO_INCREMENTflag, che non è più supportato in MySQL 8.4.Output di esempio:
{ "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." } ] }Risoluzione:
Cambia il tipo di colonna da
FLOAToDOUBLEverso un tipo intero:-- 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
Controlli preliminari Aurora MySQL che restituiscono errori
I seguenti controlli preliminari sono specifici di Aurora MySQL:
- aurora UnsupportedPluginsCheck
-
Livello di controllo preliminare: errore
Verifica la presenza di plugin non supportati
Questo Aurora-specific precontrollo identifica i plugin che non sono supportati in Aurora MySQL versione 8.4. Aurora ha requisiti di compatibilità dei plugin specifici che differiscono dalla community MySQL.
Output di esempio:
{ "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." } ] }Risoluzione:
Disinstalla i plugin non supportati:
UNINSTALL PLUGINplugin_name; - aurora UnsupportedComponentsCheck
-
Livello di controllo preliminare: errore
Verifica la presenza di componenti non supportati
Questo precontrollo verifica che nessun componente MySQL non supportato in Aurora MySQL versione 8.4 sia attualmente installato o attivo. I componenti sono diversi dai plugin e forniscono funzionalità estese attraverso l'infrastruttura dei componenti.
Output di esempio:
{ "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." } ] }Risoluzione:
Disinstalla i componenti non supportati:
UNINSTALL COMPONENT 'component_name'; - aurora UpgradeCheckForSysSchemaObjectTypeMismatch
-
Livello di controllo preliminare: errore
Verifica la mancata corrispondenza del tipo di oggetto per lo schema sys
Questo precontrollo verifica che tutti gli oggetti
sysdello schema abbiano i tipi e le definizioni di oggetti corretti. Lo schema sys è uno schema di sistema che fornisce visualizzazioni e procedure per il monitoraggio e la diagnostica del database. Le mancate corrispondenze possono verificarsi se lo schema è stato modificato o danneggiato manualmente.Output di esempio:
{ "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)." } ] }Risoluzione:
-- 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;
Avvisi
In caso di esito negativo, i seguenti controlli preliminari generano avvisi ma l’aggiornamento può comunque essere eseguito.
Argomenti
Controlli preliminari MySQL che restituiscono avvisi
I seguenti controlli preliminari sono forniti da Community MySQL:
- deprecato DefaultAuth
-
Livello di controllo preliminare: avviso
Verifica la presenza di metodi di autenticazione predefiniti obsoleti o non validi nelle variabili di sistema
Questo precontrollo verifica che la variabile di
default_authentication_pluginsistema non sia impostata su metodi di autenticazione obsoleti.Importante
MySQL 8.4.0 rimuove completamente l'opzione obsoleta.
default_authentication_pluginIlmysql_native_passwordplugin è disabilitato per impostazione predefinita a partire da MySQL 8.4.0 ed è soggetto a rimozione nelle versioni future.Per ulteriori informazioni sulle modifiche all'autenticazione nella versione 8.4, vedere. Considerazioni sulla sicurezza per l'aggiornamento da Aurora MySQL versione 3 alla versione 8.4
Output di esempio:
{ "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." } ] }Risoluzione:
Aggiorna le variabili del sistema di autenticazione da utilizzare
caching_sha2_password:-
Vai alla console Amazon RDS e accedi ai gruppi di parametri.
-
Seleziona il gruppo di parametri del cluster DB.
-
Modifica i seguenti parametri:
-
default_authentication_plugin=caching_sha2_password -
authentication_policy=caching_sha2_password,*,
-
-
Applica le modifiche. Potrebbe essere necessario un riavvio.
Assicurati che i client dell'applicazione supportino
caching_sha2_passwordl'autenticazione prima di apportare questa modifica. Alcune vecchie librerie client MySQL potrebbero non supportare questo metodo di autenticazione. -
- straniera KeyReferences
-
Livello di controllo preliminare: avviso
Verifica la presenza di chiavi esterne che non fanno riferimento a un indice univoco completo
Questo precontrollo assicura che tutti i vincoli di chiave esterna facciano riferimento a indici completi di chiave unica o primaria. Le chiavi esterne per gli indici parziali potrebbero essere proibite a partire da MySQL 8.4.0.
Output di esempio:
{ "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'." } ] }Risoluzione:
Scegliete l'opzione più adatta alla vostra applicazione:
-- 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;
Controlli preliminari Aurora MySQL che restituiscono avvisi
I seguenti controlli preliminari sono specifici di Aurora MySQL:
- aurora ValidatePasswordPluginCheck
-
Livello di controllo preliminare: avviso
Verifica la presenza del plugin validate_password obsoleto
Questo precontrollo identifica l'utilizzo del plug-in obsoleto.
validate_passwordIn MySQL 8.0+, la funzionalità validate_password è stata reimplementata come componente ().component_validate_passwordAurora MySQL versione 8.4 richiede la migrazione all'implementazione basata su componenti.Per ulteriori informazioni, consulta Migrazione dei componenti di convalida della password.
Output di esempio:
{ "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." } ] }Risoluzione:
-- 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%';
Note
In caso di esito negativo, i seguenti controlli preliminari generano notifiche ma l’aggiornamento può comunque procedere.
- Privilegi non validi
-
Livello di controllo preliminare: notifica
Verifica i privilegi utente che verranno rimossi
Questo precontrollo identifica gli account utente con privilegi che vengono rimossi o modificati in MySQL 8.4. Il
SET_USER_IDprivilegio viene rimosso come parte del processo di aggiornamento. Se i privilegi non vengono utilizzati, non è richiesta alcuna azione. Altrimenti, assicurati che smettano di essere utilizzati prima dell'aggiornamento perché andranno persi.Output di esempio:
{ "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" } ] }Risoluzione:
Questo è un avviso informativo: non è richiesta alcuna azione. Il
SET_USER_IDprivilegio verrà rimosso automaticamente durante il processo di aggiornamento.Tuttavia, se l'applicazione si basa sul
SET_USER_IDprivilegio, rivedi e aggiorna l'applicazione prima dell'aggiornamento.
Errori, avvisi o notifiche
I seguenti controlli preliminari possono restituire un errore, un avviso o un avviso a seconda dell'output del precontrollo.
- autenticazione MethodUsage
-
Livello di controllo preliminare: errore, avviso o notifica
Verifica la presenza di metodi di autenticazione utente obsoleti o non validi
Questo precontrollo identifica gli account utente utilizzando metodi di autenticazione obsoleti o che verranno rimossi in MySQL 8.4. Il plugin di
mysql_native_passwordautenticazione è obsoleto e disabilitato per impostazione predefinita a partire da MySQL 8.4.0. Il plugin è soggetto a rimozione nelle future versioni.Il livello di gravità è dinamico in base al ciclo di vita della funzionalità: avviso prima della deprecazione, avviso dopo la deprecazione, errore dopo la rimozione.
Output di esempio:
{ "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": "" } ] }Risoluzione:
Aggiorna
caching_sha2_passwordgli account utente per utilizzare l'autenticazione:ALTER USER 'username'@'host' IDENTIFIED WITH caching_sha2_password BY 'new_password';Nota
Non è richiesta alcuna azione per gli account di sistema interni di Aurora. Vengono aggiornati automaticamente durante il processo di aggiornamento. Il tentativo di modificare questi account manualmente può causare problemi con la funzionalità Aurora.
- Utilizzo del plugin
-
Livello di controllo preliminare: errore, avviso o notifica
Verifica l'utilizzo del plug-in obsoleto o rimosso
Questo precontrollo identifica i plugin che sono stati obsoleti o rimossi in MySQL 8.4. Esamina tutti i plugin attivi e riporta il loro stato di obsolescenza. Il livello di gravità è dinamico in base al ciclo di vita della funzionalità.
Output di esempio:
{ "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." } ] }Risoluzione:
Disinstalla i plugin obsoleti e installa i relativi componenti sostitutivi:
-- 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%';La tabella seguente elenca i plugin obsoleti e i relativi sostituti:
Plug-in Sostituzione keyring_filecomponent_keyring_filekeyring_encrypted_filecomponent_keyring_encrypted_filekeyring_ocicomponent_keyring_ociauthentication_fidoauthentication_webauthn - controllare TableCommand
-
Livello di controllo preliminare: errore, avviso o notifica
Problemi segnalati dal comando
check table x for upgradeQuesto precontrollo esegue il
CHECK TABLE ... FOR UPGRADEcomando su tutte le tabelle utente per identificare problemi strutturali, funzionalità obsolete o incompatibilità con MySQL 8.4. Il comando esegue una convalida completa della struttura della tabella e dei metadati.A differenza di altri controlli preliminari, questo può restituire un errore, un avviso o una notifica a seconda dell’output di
CHECK TABLE. Se questo precontrollo restituisce delle tabelle, esaminale attentamente insieme al codice e al messaggio restituiti prima di iniziare l'aggiornamento.Output di esempio:
{ "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" } ] }Risoluzione:
Esamina gli oggetti segnalati e correggili o rimuovili prima dell'aggiornamento. I problemi comuni includono:
-
Visualizzazioni che fanno riferimento a tabelle o colonne non valide: elimina o ricrea la vista.
-
Tabelle danneggiate: esegui o ricrea la tabella.
REPAIR TABLE -
Trigger con attributo mancante: ricrea il trigger.
CREATED
Per ulteriori informazioni, consulta CHECK TABLE statement
nella documentazione di MySQL. -