mysqldump non crea tabelle o importa dati


11

Sto cercando di importare un mysqldump in un nuovo database. Quando corro:

mysqldump -umydbuser -p --database testimport < database.dump

Ottengo il seguente output:

Enter password:
-- MySQL dump 10.11
--
-- Host: localhost    Database: testimport
-- ------------------------------------------------------
-- Server version       5.0.75-0ubuntu10.3

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Current Database: `testimport`
--

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `testimport` /*!40100 DEFAULT CHARACTER SET     latin1 */;

USE `testimport`;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2010-03-09 17:46:03

Tuttavia, quando guardo il database di testimonport, non ci sono tabelle né dati. Anche se esporto un database funzionante tramite:

mysqldump -umydbuser -p --database workingdatabase > test.sql

e quindi importare:

mysqldump -umydbuser -p --database testimport < test.sql

Ottengo lo stesso output, ma nulla viene importato nel testimportdatabase. Non vedo alcun errore nell'output e sta utilizzando il database corretto. Se eseguo la coda del file .sql esportato, vedo le istruzioni create per tutte le tabelle e gli inserimenti per tutti i dati. Perché questi dati non vengono importati? C'è qualche registrazione aggiuntiva che posso vedere?

Risposte:


26

Vuoi eseguire il dump attraverso il client mysql.

Esempio:

mysql -uroot -p testimport < database.dump


2
Strumenti diversi per scopi diversi, Josh.
Warner,

8

Perché quando hai scaricato i dati (Backup) hai usato "mysqldump":

mysqldump -u user -p Database_name > SQL_dump_file.sql

Ma quando ripristini i dati nel database devi usare solo "mysql":

mysql -u user -p Database_name < SQL_dump_file.sql

-2

Ho avuto lo stesso problema, basta esportare de DDL (solo struttura) ed esportare il database completo, quindi importare prima il file DDL, quindi importare il file completo usando la stessa frase

mysqldump -uroot -p 'database' < 'filename.sql'

1
Non è possibile importare dati con mysqldump, è solo uno strumento di esportazione. mysqlè per l'importazione.
Gerald Schneider,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.