In breve: MySQL Error 1036 table read only indica che la tabella non accetta scritture perché il server, la replica, il filesystem o i file della tabella sono in sola lettura.
Indice dei contenuti
MySQL Error 1036 table read only: significato
Le prime ipotesi da verificare per “MySQL Error 1036 table read only” sono connessione a una replica configurata read_only o super_read_only; filesystem montato in sola lettura.

Sintomi e cause probabili
Sintomi da verificare
- INSERT, UPDATE o DELETE restituisce Error 1036
- Le SELECT funzionano ma le modifiche falliscono
- Il problema riguarda una replica o una sola tabella
- Il log segnala filesystem o file in sola lettura
Cause probabili
- Connessione a una replica configurata read_only o super_read_only
- Filesystem montato in sola lettura
- Permessi o proprietario errati sui file della tabella
- Tabella danneggiata o gestita da un engine con limitazioni
Diagnosi passo per passo
- Verificare se la connessione punta al server primario o a una replica
- Controllare i valori read_only e super_read_only
- Confrontare il comportamento su altre tabelle
- Consultare error log e stato del filesystem
- Controllare engine e stato della tabella prima di ripararla
Log e dati da controllare
- Query che fallisce
- Valori read_only e super_read_only
- SHOW TABLE STATUS
- Error log MySQL e log del filesystem
Correzioni sicure
- Indirizzare le scritture al server primario
- Far ripristinare lo storage in lettura-scrittura dall’amministratore
- Correggere proprietario e permessi soltanto sui file confermati
- Ripristinare o riparare la tabella da backup secondo l’engine
- Ripetere una scrittura minima e controllare il log

Verifica finale
- La scrittura di prova riesce sul primario
- La replica resta protetta in sola lettura
- Il filesystem non segnala errori
- La tabella conserva dati e indici
Errori da evitare
- Disattivare read_only su una replica senza conoscere la topologia
- Impostare permessi globalmente aperti
- Eseguire una riparazione senza backup
- Provare scritture ripetute su storage degradato
Guide Xlogic correlate
- MySQL Error 1051: unknown table
- MySQL Error 1050: table already exists
- MySQL Error 1005: Cannot create table
Fonti tecniche
Domande frequenti
Che cosa significa “MySQL Error 1036 table read only”?
MySQL Error 1036 table read only indica che la tabella non accetta scritture perché il server, la replica, il filesystem o i file della tabella sono in sola lettura.
Da cosa può dipendere “MySQL Error 1036 table read only”?
Le cause da verificare per “MySQL Error 1036 table read only” sono: connessione a una replica configurata read_only o super_read_only; filesystem montato in sola lettura; permessi o proprietario errati sui file della tabella.
Quali controlli eseguire per “MySQL Error 1036 table read only”?
Per diagnosticare “MySQL Error 1036 table read only”, controlla nell’ordine: verificare se la connessione punta al server primario o a una replica; controllare i valori read_only e super_read_only; confrontare il comportamento su altre tabelle. La soluzione è confermata quando la scrittura di prova riesce sul primario; la replica resta protetta in sola lettura.