Condividi tramite


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:

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 richiede SUPER privilegi per creare ed è limitato. Se si importano dati usando un backup, rimuovere manualmente i CREATE 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.