Debian: MySQL max_connections non viene impostato a più di 214

Se avete provato a modificare il parametro max_connections nel file /etc/mysql/my.cnf e non viene impostato a più di 214, significa che il problema è nel numero di files che mysql può aprire. Per far caricare correttamente tale parametro a mysql, bisogna procedere come segue: modificare il file systemd relativo a mysql:

Aggiungere la riga: … Leggi tutto

MySQL < 5.7: Aggiungere la funzione json_extract

Per aggiungere la funzione json_extract nelle versioni di MySQL precedenti alla 5.7, che la supporta nativamente, si può ricorrere alle librerie udfs. Grazie a questa funzione, sarà possibile estrarre direttamente i dati di un array/oggetto JSON contenuto in un campo del database. Accedere a MySQL e verificare qual è il path della cartella relativa ai … Leggi tutto

Replica MySQL e relay file non trovato

Può capitare che lo slave MySQL di una replica non sia attivo e che provado con:

venga fuori un errore del genere:

Questo indica che il file di relay non esiste, mentre il server tenta di lavorarlo. In questo caso bisogna fermare lo slave dalla cli di MySQL:

poi verificare qual è … Leggi tutto

MySQL: Cancellare tutte le tabelle di un database da CLI

Se si usa un’interfaccia grafica per la gestione del database (phpMySQL, MySQL Administrator o altro) la procedura è molto semplice e viene risolta con un paio di click. Se però bisogna cancellare tutte le tabelle di un database da CLI, la cosa può risultare lunga e noiosa. Ricordiamo intanto la query da utilizzare per visualizzare … Leggi tutto

MySQL: Recuperare dati da InnoDB, se MySQL non riparte

Trasferire un DB da un server all’altro va fatto eclusivamente con un DUMP. Può però capitare che il server di rompa o che comunque non si riesca a riavviare il servizio MySQL con tabelle InnoDB. Se avete ibdata1, ib_logfile0, ib_logfile1 ed i files dei vari DB, potrebbe esserci speranza di recuperare tutto. Dunque: – fare … Leggi tutto

MySQL: cancellare le tabelle con chiavi esterne (Foreign key)

Ormai anche per piccoli progetti MySQL si tende a creare relazioni tra tabelle (solo con motore InnoDB) definendo chiavi esterne. Le Foreign key aiutano a stabilire i comportamenti che il database dovrà assumere quando si tenterà di eliminare o modificare un record di una tabella padre legato ad uno o più record nella tabella figlio. … Leggi tutto

Mysql: replica master-master ed auto flush dei vecchi logs

Usando la configurazione per la replica di MySQL master-master, avrete notato che i logs binari sono sempre tutti li, ovvero non vengono cancellati dopo che la replica è stata commpletata. Per ovviare, si può inserire una direttiva nel file my.cnf (/etc/mysql/my.cnf) che cancella quelli più vecchi di 7 giorni:

Si può anche decidere di … Leggi tutto

MySQL: ERROR 1030 (HY000): Got error 28 from storage engine

Se vi capita di ricevere l’errore:

durante l’esecuzione di una query, sicuramente c’è un problema di spazio sul disco (probabilmente la partizione /tmp o un’altra partizione disco interessata da MySQL). In questo caso, basterà eseguire un:

per avere il quadro di occupazione delle varie partizioni e per intervenire in modo da liberare spazio. … Leggi tutto

Sottrarre del tempo ad un campo TIME di MySQL

Ipotizziamo di avere un campo chiamato ora di tipo TIME di un database MySQL che si chiama annunci che contiene orari del tipo “13:40:00” e che tale orario debba essere automaticamente decrementato di due ore per tutti i record. Ecco una query per poterlo fare:

enjoy