Vai al contenuto
EuroVPSEuroVPS

Come fare il backup dei database MySQL

FAQ EuroVPS

3 min di lettura (shell meta.minRead)

Shared FAQ page chrome (breadcrumb, dates, read time, «Continua a leggere», enquiry block, category labels): see INDEX-AND-CHROME.md. Translate once.

Body

Introduzione

Una copia fisica delle directory del backend MySQL per un uso futuro non funziona sempre, e il ripristino è piuttosto difficile, con procedure complicate. Vediamo due metodi per fare correttamente il backup e il ripristino dei vostri database.

#1. mysqldump

MySQL e MariaDB includono un'utilità, mysqldump, che permette di fare il backup dei database ospitati con facilità. Il backup SQL generato da questa utilità è l'insieme completo delle istruzioni SQL che riproducono il database di origine: al ripristino crea gli oggetti del database nella stessa istanza MySQL/MariaDB o in un'altra, a partire da quelle istruzioni. Il backup è portabile e potete aprire il file con qualsiasi editor di testo e modificare le istruzioni SQL se necessario.

Usare mysqldump per tutti i database

Il comando mysqldump può fare il backup di tutti i database presenti sul server MySQL con la sintassi qui sotto. Servono le credenziali dell'utente amministratore di MySQL. Una volta eseguito, chiede la password dell'amministratore e il backup viene scritto nel percorso che indicate per il file di output.

mysqldump -u root -p --all-databases > all-DB-dump-$( date '+%Y-%m-%d_%H-%M-%S' ).sql

Usare mysqldump per un singolo database.

Potete usare le credenziali dell'amministratore oppure l'utente di quel database specifico. Assicuratevi che l'utente del database abbia i permessi GRANT SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER sul database. Con i comandi qui sotto, da una shell MySQL, create l'utente e gli assegnate i permessi necessari per le operazioni di backup.

CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY '<password>';
GRANT SELECT, SHOW VIEW, RELOAD, REPLICATION CLIENT, EVENT, TRIGGER ON db_name.* TO 'bkpuser'@'localhost';

Sostituite bkpuser con il nome utente che volete usare per l'utente di backup, password con la password reale dell'utente e db_name con il nome del database. Fatto questo, potete usare bkpuser e le sue credenziali per il backup del database db_name con la sintassi qui sotto.

mysqldump -u [username] -p[password] -h [host] [databaseName] > [backup-name].sql

OPPURE

mysqldump -u bkpuser -p<password> db_name > db_name.sql

Usare mysqldump per una singola tabella

Con la sintassi qui sotto fate il backup di una sola tabella del database.

mysqldump -u [username] -p[password] -h [host] [databaseName] [tableName] > [backup-name].sql

OPPURE

mysqldump -u bkpuser -p<password> db_name table_name > table_name.sql

Ripristinare il backup generato.

L'utilità client mysql ripristina (importa) il file .sql in un database. Con il comando qui sotto, dalla shell MySQL, create un database vuoto per il ripristino.

mysql> create database db_name;
Query OK, 1 row affected (0.08 sec)

Usate il client mysql con la sintassi qui sotto per avviare il ripristino dal file di backup .sql.

mysql -u [username] -p [databaseName] < backupFile.sql

L'utilità mysqldump può anche fare il backup di un database da un server remoto; la sintassi è la seguente.

mysqldump --host hostaddress -P portnumber -u username -ppassword dbname > dbname.sql

#2 Usare phpMyAdmin

phpMyAdmin è fornito con cPanel e Plesk e può esportare e importare un database dal browser.

Accedete a phpMyAdmin collegato al vostro database, aprite la scheda «Export», selezionate il formato del file di backup, scegliete SQL dall'elenco a tendina e premete il pulsante «Go». Il backup viene generato e scaricato nella stessa sessione del browser.

Selezionate la scheda «Import», fate clic sul pulsante «Choose File», individuate il file di backup sulla macchina locale e fate clic su «Go» per ripristinare un backup da phpMyAdmin.

Dalle FAQ di EuroVPS.

Altro in «Guide»

Il vostro prossimo partner per l'infrastruttura

Avete ancora
una domanda?

Diteci cosa state cercando di fare. Un ingegnere la leggerà e vi risponderà.

+357 222 32280
Un ingegnere EuroVPS trasporta un nodo server nella sala del datacenter
Una conversazione con le persone che si prenderanno cura della vostra infrastruttura.

Partiamo dalla vostra infrastruttura.

Un po' di contesto ci aiuta a iniziare la conversazione giusta.

Useremo i vostri dati per rispondere alla vostra richiesta. Informativa sulla privacy