Quando uno Slave è di sola lettura , non è protetto al 100% dal mondo.
Secondo la documentazione di MySQL su read-only
Questa variabile è disattivata per impostazione predefinita. Quando è abilitato, il server non consente aggiornamenti se non dagli utenti che dispongono del privilegio SUPER o (su un server slave) dagli aggiornamenti eseguiti dai thread slave. Nelle configurazioni di replica, può essere utile abilitare read_only sui server slave per garantire che gli slave accettino gli aggiornamenti solo dal server master e non dai client.
Quindi, chiunque abbia il privilegio SUPER può leggere e scrivere a piacimento a un tale Slave ...
Assicurarsi che tutti gli utenti non privilegiati non dispongano del privilegio SUPER.
Se vuoi revocare tutti i privilegi SUPER in un colpo solo, eseguilo su Master and Slave:
UPDATE mysql.user SET super_priv='N' WHERE user<>'root';
FLUSH PRIVILEGES;
Con riferimento allo Slave, questo riserverà il privilegio SUPER a solo root
e impedirà ai non privilegiati di scrivere, da cui altrimenti verrebbero limitati.
AGGIORNAMENTO 2015-08-28 17:39 EDT
Ho appena appreso di recente che MySQL 5.7 introdurrà super_read_only .
Questo fermerà gli utenti SUPER nelle loro tracce perché dicono i Documenti 5.7
Se la variabile di sistema read_only è abilitata, il server consente gli aggiornamenti client solo dagli utenti che dispongono del privilegio SUPER. Se è abilitata anche la variabile di sistema super_read_only, il server proibisce gli aggiornamenti client anche dagli utenti che hanno SUPER. Vedere la descrizione della variabile di sistema read_only per una descrizione della modalità di sola lettura e le informazioni su come interagiscono read_only e super_read_only.
Le modifiche a super_read_only su un server master non vengono replicate su server slave. Il valore può essere impostato su un server slave indipendentemente dall'impostazione sul master.
super_read_only è stato aggiunto in MySQL 5.7.8.