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