Gestione del database MySQL

Gestione del database MySQL

Diego Campanella Di Diego Campanella


coding database mysql backup

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.

Impara a programmare in 3 mesi con il Corso di Coding Hackademy su Laravel PHP

Diventa Sviluppatore web in 3 mesi

Scopri il coding bootcamp Hackademy

Programma Completo