A volte potrebbe essere necessario copiare il database o clonare il database in MySQL per creare un database duplicato. Ecco come copiare il database in MySQL.
Come copiare il database in MySQL
Ecco i passaggi per copiare il database MySQL.
- Crea un nuovo database vuoto usando l'istruzione CREATE DATABASE
- Esporta tutti gli oggetti e i dati del database nel nuovo database utilizzando mysqldump comando
- Importa il file di dump SQL nel nuovo database
Bonus Lettura:MySQL Inserisci in Seleziona
Diamo un'occhiata a diversi esempi per copiare il database MySQL.
Copia database MySQL sullo stesso server
Supponiamo che tu voglia copiare il tuo database source_db al nuovo database destination_db
Accedi a MySQL e crea un nuovo database destination_db
mysql> create database destination_db; mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | dashboard | | destination_db | | fedingo | | mysql | | performance_schema | | sample | | source_db | | testdb | | wordpress | +--------------------+
Esporta oggetti e dati di source_db in un file, diciamo, D:\db.sql. Ti verrà richiesta una password.
>mysqldump -u root -p source_db > d:\db.sql Enter password: **********
Importa il file d:\db.sql in destination_db
>mysqldump -u root -p destination_db < d:\db.sql Enter password: **********
I passaggi precedenti copieranno il database con i dati sullo stesso server.
Lettura bonus:MySQL Seleziona le prime N righe
Schema del database di copia MySQL
Se vuoi solo copiare lo schema del database, usa -d opzione nel comando MySQLdump sopra. Questo copierà solo la struttura del database e non il contenuto.
mysql>mysqldump -u root -p -d source_db > d:\db.sql
Importa la struttura del database in destination_db come prima
mysql>mysql -u root -p -d destination_db < d:\db.sql
Lettura bonus:MySQL rimuove i record duplicati
MySQL copia il database su un altro server
Se desideri copiare il database su un altro server, devi seguire passaggi simili ma esportare il contenuto e gli oggetti del database sul server di destinazione.
- Esporta il database di origine in un file SQL
- Copia il file SQL sul server di destinazione
- Importa il file SQL nel database di destinazione
Per prima cosa esportiamo il database di origine source_db in db.sql
>mysqldump -u root -p --databases source_db > d:\db.sql Enter password: **********
Il –database l'opzione ti consentirà di includere le istruzioni CREATE DATABASE e USE nel tuo file SQL.
Quindi, copia il file SQL su un altro server (ad es. F:\db.sql)
Infine, importa il file SQL nel database di destinazione.
>mysql -u root -p destination_db < f:\db.sql Enter password: **********
Bonus Leggi:Come eseguire la stored procedure in Workbench
Copia database MySQL senza MySQLdump
Se desideri copiare il database senza MySQLdump, dovrai copiare manualmente ogni tabella nel database di origine nel database di destinazione.
Ecco la query SQL per copiare la tabella vendite da db_sorgente database a destination_db banca dati
CREATE TABLE destination_db.sales LIKE source_db.sales; INSERT destination_db.sales SELECT * FROM source_db.sales;
La prima istruzione duplicherà la struttura della tabella in MySQL dal database di origine (ad esempio source_db ) a un altro (ad es. destination_db . La seconda istruzione copierà i dati da una tabella all'altra. Dovrai eseguire le istruzioni di cui sopra per ogni tabella del database o scrivere uno script che generi ed esegua l'istruzione sopra per tutte le tabelle nel tuo database.
Ubiq semplifica la visualizzazione dei dati in pochi minuti e il monitoraggio in dashboard in tempo reale. Provalo oggi!