Limitazioni per Database di Azure per MySQL - Server flessibile
Questo articolo descrive le limitazioni in Database di Azure per MySQL - Server flessibile. Si applicano anche limitazioni generali nel motore di database MySQL. Per informazioni sulle limitazioni delle risorse (calcolo, memoria, archiviazione), vedere l'articolo sulle risorse di calcolo e archiviazione.
Parametri del server
Database di Azure per MySQL : il server flessibile supporta l'ottimizzazione dei valori dei parametri del server. Alcuni valori minimo e massimo dei parametri (ad esempio, max_connections
, join_buffer_size
, query_cache_size
) sono determinati dal livello di calcolo e prima di calcolare le dimensioni del server. Per altre informazioni su questi limiti, insieme ai valori minimi e massimi per i parametri del server come max_connections
e innodb_buffer_pool_size
, vedere l'articolo sui parametri del server.
Chiavi primarie invisibili generate
Per MySQL versione 8.0 e successive, le chiavi primarie invisibili generate (GIPK) sono abilitate per impostazione predefinita per tutte le istanze del server flessibile Database di Azure per MySQL.
I server MySQL 8.0+ aggiungono la colonna my_row_id
invisibile alle tabelle e una chiave primaria in tale colonna, in cui viene creata la tabella InnoDB senza una chiave primaria esplicita. Per questo motivo, non è possibile creare una tabella con una colonna denominata my_row_id
, a meno che l'istruzione di creazione della tabella non specifichi anche una chiave primaria esplicita. Altre informazioni.
Per impostazione predefinita, i GIP vengono visualizzati nell'output di SHOW CREATE TABLE, SHOW COLUMNS e SHOW INDEX. I GIP sono visibili anche nelle INFORMATION_SCHEMA
tabelle COLUMNS e STATISTICS .
Per altre informazioni sui GIP e sui relativi casi d'uso con la replica dei dati in ingresso, vedere Replicare i dati in Database di Azure per MySQL - Server flessibile.
Passaggi per disabilitare un GIPK
Se si vuole disabilitare un GIPK, sono disponibili due opzioni:
Modificare il valore del parametro
OFF
del server sql_generate_invisible_primary_key usando il portale di Azure o l'interfaccia della riga di comando di Azure.Connettersi all'istanza del server flessibile Database di Azure per MySQL ed eseguire il comando seguente:
mysql> SET sql_generate_invisible_primary_key=OFF;
lower_case_table_names
In Database di Azure per MySQL - Server flessibile, il valore predefinito per lower_case_table_names
è 1
per MySQL versione 5.7. Se è necessario modificare questa impostazione, è consigliabile creare un ticket di supporto. È importante comprendere che dopo aver modificato il valore del parametro in 2
, il ripristino in 1
non è consentito.
Per MySQL versione 8.0, la modifica dell'impostazione dopo l'inizializzazione lower_case_table_names
del server non è consentita. Altre informazioni. In Database di Azure per MySQL - Server flessibile, il valore predefinito per lower_case_table_names
è 1
per MySQL versione 8.0. Se si vuole modificare questo parametro in 2
, è consigliabile creare un server MySQL 5.7 e creare un ticket di supporto per assistenza per la modifica. In un secondo momento, se necessario, è possibile aggiornare il server alla versione 8.0.
Motori di archiviazione
MySQL supporta molti motori di archiviazione. Gli elenchi seguenti mostrano quali motori di archiviazione sono supportati e non supportati in Database di Azure per MySQL - Server flessibile.
Motori supportati
Motori non supportati
Privilegi e supporto per la manipolazione dei dati
Molti parametri e impostazioni del server possono inavvertitamente ridurre le prestazioni del server o negare le proprietà ACID (atomiche, coerenti, isolate e durevoli) del server MySQL. Per mantenere l'integrità del servizio e il contratto a livello di servizio a livello di prodotto, Database di Azure per MySQL - Server flessibile non espone più ruoli.
Database di Azure per MySQL: il server flessibile non consente l'accesso diretto al file system sottostante. Alcuni comandi di manipolazione dei dati non sono supportati.
Privilegi supportati
LOAD DATA INFILE
è supportato, ma è necessario specificare il[LOCAL]
parametro e indirizzarlo a un percorso UNC (archiviazione di Azure montata tramite Server Message Block). Se si usa il client MySQL versione 8.0 o successiva, è necessario includere il-–local-infile=1
parametro nella stringa di connessione.Per MySQL versione 8.0 e successive sono supportati solo i privilegi dinamici seguenti:
Privilegi non supportati
Il ruolo amministratore del database (DBA) è limitato. In alternativa, è possibile usare il ruolo dell'utente amministratore assegnato durante la creazione di un nuovo server. Questo ruolo consente di eseguire la maggior parte delle istruzioni DDL (Data Definition Language) e DML (Data Manipulation Language).
I privilegi statici seguenti sono limitati:
La concessione di privilegi di BACKUP_ADMIN non è supportata per l'esecuzione di backup tramite gli strumenti di migrazione.
DEFINER
richiedeSUPER
privilegi per creare ed è limitato. Se si importano dati usando un backup, rimuovere manualmente iCREATE DEFINER
comandi o usare il--skip-definer
comando quando si esegue un backup mysqlpump .Il database di sistema mysql è di sola lettura e supporta varie funzionalità PaaS (Platform as a Service). Non è possibile apportare modifiche al database di sistema
mysql
.SELECT ... INTO OUTFILE
non è supportato nel servizio.
Limiti funzionali
Disponibilità elevata con ridondanza della zona
È possibile impostare una configurazione a disponibilità elevata con ridondanza della zona solo durante la creazione del server. Questa configurazione non è supportata nel livello di calcolo burstable.
Rete
Non è possibile cambiare il metodo di connettività dopo aver creato il server. Se si crea il server con accesso privato (integrazione della rete virtuale), non può essere modificato in accesso pubblico (indirizzi IP consentiti) dopo la creazione e viceversa.
Operazioni di arresto/avvio
Le operazioni per arrestare e avviare il server non sono supportate con configurazioni di replica in lettura (sia di origine che di repliche).
Operazioni di scalabilità
La riduzione dell'archiviazione server con provisioning non è supportata.
Aggiornamenti della versione dei server
La migrazione automatica tra le versioni principali del motore di database non è supportata. Se si vuole aggiornare la versione principale, usare un dump e un ripristino in un server creato con la nuova versione del motore.
Restore a server (Ripristinare un server)
Con il ripristino temporizzato, i nuovi server hanno le stesse configurazioni di calcolo e archiviazione del server di origine su cui si basano. È possibile ridurre le prestazioni di calcolo del server appena ripristinato dopo aver creato il server.
Confronto delle funzionalità
Non tutte le funzionalità disponibili in Database di Azure per MySQL - Server singolo sono disponibili in Database di Azure per MySQL - Server flessibile.
Per l'elenco completo dei confronti delle funzionalità tra Database di Azure per MySQL - Server singolo e Database di Azure per MySQL - Server flessibile, vedere l'articolo sulla scelta dell'opzione del server MySQL più adatta in Azure.