MySQL è uno dei sistemi di gestione di database relazionali open source più utilizzati al mondo ed utilizza il linguaggio SQL. Con una distribuzione totale di oltre 100 milioni in tutto il mondo, il software è diventato la prima scelta di grandi società di gestione dati che coprono una vasta gamma di tecnologie Internet.
Creazione Account Database
Per buona prassi è consigliata la creazione di un utente nominale che si occupi esclusivamente della gestione dei salvataggi.
Per creare un utente DB accediamo alla console di mysql con un utente admin:
CREATE USER 'userSave'@'localhost' IDENTIFIED BY 'password';
A questo punto il nostro utente è stato correttamente creato, tuttavia non ha permessi sufficienti per accedere ai db. Pertanto, occorre assegnare le grant all’utente.
Sempre con utente admin:
GRANT ALL PRIVILEGES ON * . * TO 'userSave'@'localhost';
In questo caso dobbiamo prestare particolare attenzione, indicando ‘ * ‘, stiamo concedendo accesso completo a tutti i nostri database.
Infine:
FLUSH PRIVILEGES;
Salvataggio dei Dati
Il salvataggio dei dati personali/aziendali è un'operazione di primaria importanza ai giorni nostri, purtroppo le possibili cause che possono portare alla perdita di informazioni nel proprio database sono tantissime e bisogna pertanto adottare tutte le misure per evitarle.
A seconda delle esigenze il backup può essere eseguito manualmente o con script automatici eseguiti ad intervalli di tempo regolari.Prima di effettuare le procedure di salvataggio dei dati dobbiamo verificare i permessi di accesso al database per l’utente che abbiamo scelto.
Script Manuale
Mysqldump
mysqldump è uno strumento molto popolare nella community di mysql, se non altro per la comoda utility a linea di comando che permette di eseguire un backup singolo o massivo di tutti i database presenti.
mysqldump -u UTENTE_DATABASE -p NOME_DATABASE > backup.sql
Invece se volete salvare tutti i database presenti in un unico file:
mysqldump -u UTENTE_DATABASE -p NOME_DATABASE --all-databases > all-databases.sql
Script Automatico
AutoMySQLbackup
Link Github:https://github.com/sixhop/AutoMySQLBackup
AutoMySQLBackup è uno strumento molto versatile, permette di automatizzare il processo di backup dei database a seconda delle esigenze dell’utente attraverso un comodo file .conf, all’interno del quale si possono configurare i parametri per lo script.
Al termine dell’esecuzione del processo, nella cartella dove abbiamo scelto di salvare tutti i database, avremo una struttura di cartelle molto simile
- daily
- monthly
- weekly
Tutti i database esportati saranno in formato .sql che facilita notevolmente il processo di restore del database selezionato.
Come importare Backup di un database
Attraverso una comoda utility da riga di comando possiamo importare il file .sql facilmente.
Come per il salvataggio dei dati, dobbiamo sempre prestare attenzione ai permessi di accesso al database dell’utente che abbiamo scelto per eseguire queste operazioni.
Questa è la sintassi del comando base
mysql -u UTENTE_DATABASE -p NOME_DATABASE < database.sql
Al termine del processo, sarete così riusciti a importare correttamente un database.