<Precedenti | Contenuti | Succ.>
1.4.1. Creazione di un file my.cnf ottimizzato
Ci sono una serie di parametri che possono essere regolati all'interno del file di configurazione di MySQL che ti permetteranno di migliorare le prestazioni del server nel tempo. Per la configurazione iniziale potresti trovare lo strumento di generazione my.cnf di Percona3 utile. Questo strumento ti aiuterà a generare un file my.cnf che sarà molto più ottimizzato per le tue capacità specifiche del server e le tue esigenze.
Non sostituire il file my.cnf esistente con quello di Percona se hai già caricato i dati nel database. Alcune delle modifiche che saranno nel file saranno incompatibili poiché alterano il modo in cui i dati vengono archiviati sul disco rigido e non sarai in grado di avviare MySQL. Se desideri utilizzarlo e disponi di dati esistenti, dovrai eseguire un mysqldump e ricaricare:
1 http://www.mysqlperformanceblog.com/2006/06/17/using-myisam-in-production/
2 http://en.wikipedia.org/wiki/ACID
3 http://tools.percona.com/members/wizard
mysqldump --all-databases --routines -u root -p > ~/fulldump.sql
Questo ti chiederà quindi la password di root prima di creare una copia dei dati. È consigliabile assicurarsi che non vi siano altri utenti o processi che utilizzano il database mentre questo avviene. A seconda di quanti dati hai nel tuo database, questo potrebbe richiedere del tempo. Non vedrai nulla sullo schermo durante questo processo.
Una volta completato il dump, chiudi MySQL:
sudo systemctl arresta mysql.service
Ora esegui il backup del file my.cnf originale e sostituiscilo con quello nuovo:
sudo cp /etc/mysql/my.cnf /etc/mysql/my.cnf.backup sudo cp /percorso/del/nuovo/my.cnf /etc/mysql/my.cnf
Quindi elimina e reinizializza lo spazio del database e assicurati che la proprietà sia corretta prima di riavviare MySQL:
sudo rm -rf /var/lib/mysql/* sudo mysql_install_db
sudo chown -R mysql: /var/lib/mysql sudo systemctl start mysql.service
Alla fine non resta che reimportare i tuoi dati. Per darci un'idea di quanto è arrivato il processo di importazione, potresti trovare utile l'utilità 'Pipe Viewer', pv. Quanto segue mostra come installare e utilizzare pv in questo caso, ma se preferisci non usarlo, sostituisci pv con cat nel seguente comando. Ignora eventuali tempi ETA prodotti da pv, si basano sul tempo medio impiegato per gestire ogni riga del file, ma la velocità di inserimento può variare notevolmente da riga a riga con mysqldumps:
sudo apt installa pv
pv ~/fulldump.sql | mysql
Una volta completato, tutto è a posto!
Questo non è necessario per tutte le modifiche a my.cnf. La maggior parte delle variabili che potresti voler modificare per migliorare le prestazioni sono regolabili anche mentre il server è in esecuzione. Come con qualsiasi cosa, assicurati di avere una buona copia di backup dei file di configurazione e dei dati prima di apportare modifiche.