Introduzione
L'importazione e l'esportazione di database è un'attività comune nello sviluppo di software. È possibile utilizzare i dump dei dati per eseguire il backup e il ripristino delle informazioni. È inoltre possibile utilizzarli per migrare i dati in un nuovo server o ambiente di sviluppo.
In questo tutorial, lavorerai con i dump del database in MySQL o MariaDB (i comandi sono intercambiabili). In particolare, esporterai un database e quindi importerai quel database dal file dump.
Prerequisiti
Per importare o esportare un database MySQL o MariaDB, avrai bisogno di:
- Una macchina virtuale con un utente sudo non root.
- MySQL o MariaDB installati. Per installare MySQL, segui il nostro tutorial, Come installare MySQL Per installare MariaDB, segui il nostro tutorial, Come installare MariaDB.
- Un database di esempio creato nel server del database. Come creare un database su linux.
Se desideri importare o esportare un database in MySQL o MariaDB su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Esportare un database MySQL o MariaDB
L'utilità mysqldump
della console esporta i database in file di testo SQL. Ciò semplifica il trasferimento e lo spostamento dei database. Avrai bisogno del nome e delle credenziali del tuo database per un account i cui privilegi consentono almeno un accesso completo in sola lettura al database.
Utilizzare mysqldump
per esportare il database:
mysqldump -u username -p database_name > data-dump.sql
username
è il nome utente con cui puoi accedere al databasedatabase_name
è il nome del database da esportaredata-dump.sql
è il file nella directory corrente che memorizza l'output.
Il comando non produrrà alcun output visivo, ma puoi ispezionare il contenuto di data-dump.sql
per verificare se si tratta di un file di dump SQL legittimo.
Esegui il seguente comando:
head -n 5 data-dump.sql
La parte superiore del file dovrebbe essere simile a questa, mostrando un dump MySQL per un database denominato database_name
:
SQL dump fragment-- MySQL dump 10.13 Distrib 5.7.16, for Linux (x86_64)
--
-- Host: localhost Database: database_name
-- ------------------------------------------------------
-- Server version 5.7.16-0ubuntu0.16.04.1
Se si verificano errori durante il processo di esportazione, mysqldump
stamperà gli errori sullo schermo.
Importare un database MySQL o MariaDB
Per importare un file di dump esistente in MySQL o MariaDB, dovrai creare un nuovo database. Questo database conterrà i dati importati.
Innanzitutto, accedi a MySQL come root o un altro utente con privilegi sufficienti per creare nuovi database:
mysql -u root -p
Questo comando ti porterà nel prompt della shell MySQL. Successivamente, crea un nuovo database con il seguente comando. In questo esempio, il nuovo database si chiama new_database
:
CREATE DATABASE new_database;
Vedrai questo output che conferma la creazione del database.
Query OK, 1 row affected (0.00 sec)
Quindi uscire dalla shell MySQL premendo CTRL+D
. Dalla normale riga di comando, puoi importare il file dump con il seguente comando:
mysql -u username -p new_database < data-dump.sql
username
è il nome utente con cui puoi accedere al databasenewdatabase
è il nome del database appena creatodata-dump.sql
è il file di dump dei dati da importare, situato nella directory corrente
Se il comando viene eseguito correttamente, non produrrà alcun output. Se si verificano errori durante il processo, mysql
li stamperà invece sul terminale. Per verificare se l'importazione è andata a buon fine, accedi alla shell MySQL e ispeziona i dati. Selezionare il nuovo database con il seguente comando:
USE new_database
Quindi utilizzare il seguente comando per esaminare i dati:
SHOW TABLES;
Conclusione
In questo tutorial hai creato un dump del database da un database MySQL o MariaDB. Quindi hai importato il dump dei dati in un nuovo database. mysqldump
dispone di impostazioni aggiuntive che è possibile utilizzare per modificare il modo in cui il sistema crea i dump dei dati. Puoi saperne di più sulla pagina di documentazione ufficiale di mysqldump .
Per leggere altri tutorial riguardo MySQL visitare questa pagina: