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à.
Principali aggiornamenti di versione per RDS for My SQL
Amazon RDS supporta i seguenti aggiornamenti immediati per le versioni principali del motore di SQL database My:
Da My SQL 5.6 a My 5.7 SQL
Da My SQL 5.7 a My 8.0 SQL
Nota
È possibile creare istanze DB My SQL version 5.7 e 8.0 solo con classi di istanze DB di ultima generazione e di ultima generazione, oltre alla classe di istanze DB db.m3 di generazione precedente.
In alcuni casi, si desidera aggiornare un'istanza DB My SQL version 5.6 in esecuzione su una classe di istanza DB di generazione precedente (diversa da db.m3) a un'istanza DB My version 5.7. SQL In questi casi, modifica innanzitutto l'istanza database per utilizzare una classe di istanza database di ultima generazione o generazione corrente. Dopo averlo fatto, puoi modificare l'istanza DB per utilizzare il motore di database My version 5.7. SQL Per informazioni sulle classi di istanze Amazon RDS DB, consultaClassi di istanze DB .
Argomenti
Panoramica degli aggiornamenti della mia versione SQL principale
Gli aggiornamenti di versione principali possono contenere modifiche al database non compatibili con le versioni precedenti delle applicazioni esistenti. Di conseguenza, Amazon RDS non applica automaticamente gli aggiornamenti delle versioni principali; è necessario modificare manualmente l'istanza DB. Ti raccomandiamo di eseguire un test approfondito di qualsiasi aggiornamento prima di applicarlo alle istanze di produzione.
Per eseguire un aggiornamento della versione principale di un'istanza DB My SQL version 5.6 su Amazon RDS alla SQL versione My 5.7 o successiva, esegui prima tutti gli aggiornamenti del sistema operativo disponibili. Al termine degli aggiornamenti del sistema operativo, esegui l'aggiornamento a ogni versione principale: da 5.6 a 5.7 e quindi da 5.7 a 8.0. Le mie istanze SQL DB create prima del 24 aprile 2014 mostrano un aggiornamento del sistema operativo disponibile fino all'applicazione dell'aggiornamento. Per ulteriori informazioni sugli aggiornamenti del sistema operativo, consulta Applicazione di aggiornamenti a un'istanza database.
Durante un aggiornamento della versione principale di MySQL, Amazon RDS esegue il SQL file binario My mysql_upgrade
per aggiornare le tabelle, se necessario. Inoltre, Amazon RDS svuota le general_log
tabelle slow_log
e durante un aggiornamento della versione principale. Per conservare le informazioni di log, salva il contenuto dei log prima dell'aggiornamento di versione principale.
Gli aggiornamenti SQL delle mie versioni principali in genere vengono completati in circa 10 minuti. Alcuni aggiornamenti possono richiedere più tempo a causa della dimensione della classe di istanza database o perché l'istanza non segue determinate linee guida operative descritte in Le migliori pratiche per Amazon RDS. Se esegui l'upgrade di un'istanza DB dalla RDS console Amazon, lo stato dell'istanza DB indica quando l'aggiornamento è completo. Se esegui l'upgrade utilizzando AWS Command Line Interface
(AWS CLI), usa il describe-db-instancescomando e controlla il Status
valore.
Gli aggiornamenti alla mia SQL versione 5.7 potrebbero essere lenti
La mia SQL versione 5.6.4 ha introdotto un nuovo formato di data e ora per e le timestamp
colonne che consente la datetime
time
presenza di componenti frazionari nei valori di data e ora. Quando si aggiorna un'istanza DB alla SQL versione My 5.7, My SQL forza la conversione di tutti i tipi di colonne di data e ora nel nuovo formato.
Poiché questa conversione ricrea le tabelle, il completamento dell'aggiornamento dell'istanza database può richiedere parecchio tempo. La conversione forzata si verifica per tutte le istanze DB che eseguono una versione precedente a My version 5.6.4. SQL Si verifica anche per tutte le istanze DB che sono state aggiornate da una versione precedente a My version 5.6.4 a una SQL versione diversa dalla 5.7.
Se l'istanza DB esegue una versione precedente a My SQL version 5.6.4 o è stata aggiornata da una versione precedente alla 5.6.4, consigliamo un passaggio aggiuntivo. In questi casi, ti consigliamo di convertire le timestamp
colonne datetime
time
, e del database prima di aggiornare l'istanza DB alla versione My 5.7. SQL Questa conversione può ridurre in modo significativo il tempo necessario per aggiornare l'istanza DB alla versione My SQL 5.7. Per aggiornare le colonne di data e ora al nuovo formato, esegui il comando ALTER TABLE
per ogni tabella contenente tali colonne. Poiché la modifica di una tabella la rende di sola lettura, ti consigliamo di eseguire questo aggiornamento durante una finestra di manutenzione.<table_name>
FORCE;
Puoi utilizzare la seguente query per trovare tutte le tabelle del database che hanno colonne di tipo datetime
, time
o timestamp
e creare un comando ALTER
TABLE
per ogni tabella.<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;
Controlli preliminari per gli aggiornamenti da My SQL 5.7 a 8.0
My SQL 8.0 include una serie di incompatibilità con My 5.7. SQL Queste incompatibilità possono causare problemi durante l'aggiornamento da My 5.7 a My 8.0. SQL SQL Pertanto, potrebbe essere necessaria una specifica preparazione del database affinché l'aggiornamento possa concludersi correttamente. Di seguito è riportato un elenco generale di queste incompatibilità:
-
Non devono essere presenti tabelle che utilizzano tipi di dati o funzioni obsolete.
-
Non devono esistere file *.frm orfani.
-
I trigger non devono avere un definer mancante o vuoto oppure un contesto di creazione non valido.
-
Non devono essere presenti tabelle partizionate che utilizzano un motore di storage che non dispone di supporto di partizionamento nativo.
-
Non devono essere presenti violazioni di parole chiave o parole riservate. Alcune parole chiave potrebbero essere riservate in My SQL 8.0 che non erano riservate in precedenza.
Per ulteriori informazioni, consulta Parole chiave e parole riservate
nella SQL documentazione My. -
Nel database di
mysql
sistema My SQL 5.7 non devono esserci tabelle con lo stesso nome di una tabella utilizzata dal dizionario di dati My SQL 8.0. -
Non devono essere definite SQL modalità obsolete nelle impostazioni delle variabili di
sql_mode
sistema. -
Non devono essere presenti tabelle o stored procedure con singoli elementi di colonna
ENUM
oSET
la cui lunghezza è superiore a 255 caratteri o 1020 byte. -
Prima dell'aggiornamento a My SQL 8.0.13 o versioni successive, non devono esserci partizioni di tabella che risiedono in tablespace InnoDB condivisi.
-
Non devono esserci domande e definizioni di programma memorizzate in My 8.0.12 o versioni precedenti che utilizzino o qualificatori per le clausole. SQL
ASC
DESC
GROUP BY
-
L'installazione di My SQL 5.7 non deve utilizzare funzionalità non supportate in My 8.0. SQL
Per ulteriori informazioni, consulta Funzionalità rimosse in My SQL 8.0
nella documentazione My. SQL -
Non devono essere presenti nomi di vincoli della chiave più lunghi di 64 caratteri.
-
Per supporto Unicode migliorato, valuta la conversione di oggetti che utilizzano il charset
utf8mb3
per utilizzare il charsetutf8mb4
. Il set di caratteriutf8mb3
è obsoleto. Inoltre, valuta l'utilizzo diutf8mb4
per i riferimenti al set di caratteri anzichéutf8
, perché attualmenteutf8
è un'alias per il charsetutf8mb3
.Per ulteriori informazioni, vedete Il set di caratteri utf8mb3 (codifica unicode a 3 byte UTF -8
) nella mia documentazione. SQL
Quando avvii un aggiornamento da My SQL 5.7 a 8.0, Amazon RDS esegue automaticamente dei controlli preliminari per rilevare queste incompatibilità. Per informazioni sull'aggiornamento a My SQL 8.0, consulta Upgrading My nella documentazione My. SQL
Questi controlli preliminari sono obbligatori. Non puoi scegliere di saltarli. I controlli preliminari offrono i seguenti vantaggi:
-
Ti consentono di evitare tempi di inattività non pianificati durante l'aggiornamento.
-
In caso di incompatibilità, Amazon RDS impedisce l'aggiornamento e ti fornisce un registro per conoscerle. Puoi quindi utilizzare il registro per preparare il database per l'aggiornamento a My SQL 8.0 riducendo le incompatibilità. Per informazioni dettagliate sulla rimozione delle incompatibilità, vedere Preparazione dell'installazione per l'aggiornamento nella documentazione personale e Aggiornamento
a My 8.0? SQL SQL Ecco cosa devi sapere... sul blog My SQL Server.
I controlli preliminari includono alcuni inclusi in My SQL e altri creati appositamente dal RDS team di Amazon. Per informazioni sui precontrolli forniti da MySQL, consulta l'utilità Upgrade checker
I controlli preliminari vengono eseguiti prima dell'arresto dell'istanza database per l'aggiornamento, il che significa che non generano alcun tempo di inattività durante l'esecuzione. Se i controlli preliminari rilevano un'incompatibilità, Amazon annulla RDS automaticamente l'aggiornamento prima che l'istanza DB venga interrotta. Amazon genera RDS anche un evento per l'incompatibilità. Per ulteriori informazioni sugli RDS eventi Amazon, consultaUtilizzo delle notifiche di RDS eventi di Amazon.
Amazon RDS registra informazioni dettagliate su ogni incompatibilità nel file PrePatchCompatibility.log
di registro. Nella maggior parte dei casi, la voce di registro include un collegamento alla SQL documentazione My per correggere l'incompatibilità. Per ulteriori informazioni sulla visualizzazione dei file di log, consultare Visualizzazione ed elenco dei file di log del database.
A causa della natura dei controlli preliminari, questi analizzano gli oggetti nel database. Questa analisi comporta il consumo di risorse e incrementa il tempo di completamento dell'aggiornamento.
Nota
Amazon RDS esegue tutti questi controlli preliminari solo per un aggiornamento da My SQL 5.7 a My SQL 8.0. Per un aggiornamento da My SQL 5.6 a My SQL 5.7, i controlli preliminari si limitano a confermare che non ci siano tabelle orfane e che ci sia spazio di archiviazione sufficiente per ricostruire le tabelle. I precontrolli non vengono eseguiti per gli aggiornamenti a versioni precedenti a My 5.7. SQL
Rollback dopo il mancato aggiornamento da My 5.7 a 8.0 SQL
Quando si aggiorna un'istanza DB da My SQL version 5.7 a My SQL version 8.0, l'aggiornamento può fallire. In particolare, può fallire se il dizionario dati contiene incompatibilità che non sono state acquisite dai precontrolli. In questo caso, il database non si avvia correttamente nella nuova versione di My SQL 8.0. A questo punto, Amazon RDS ripristina le modifiche eseguite per l'upgrade. Dopo il rollback, l'istanza My SQL DB esegue la mia SQL versione 5.7. Quando un upgrade fallisce e viene ripristinato, Amazon RDS genera un evento con l'ID evento RDS - EVENT -0188.
In genere, un aggiornamento non riesce a causa di incompatibilità nei metadati tra i database dell'istanza DB e la versione My di destinazione. SQL Quando un aggiornamento non riesce, è possibile visualizzare i dettagli su queste incompatibilità nel file upgradeFailure.log
. Risolvere le incompatibilità prima di provare a eseguire nuovamente l'aggiornamento.
Durante un tentativo di aggiornamento e rollback non riusciti, l'istanza database viene riavviata. Eventuali modifiche dei parametri in sospeso vengono applicate durante il riavvio e persistono dopo il rollback.
Per ulteriori informazioni sull'aggiornamento a My SQL 8.0, consulta i seguenti argomenti nella documentazione personale: SQL
Nota
Attualmente, il rollback automatico dopo un errore di aggiornamento è supportato solo per gli aggiornamenti delle versioni principali di My SQL 5.7 a 8.0.