Come importare un file .sql in MySQL?


39

Sto cercando di importare un file .sql utilizzando MySQL Workbench e ottengo questo errore:

ERROR 1046 (3D000) at line 28: No database selected

Ho prima creato un database vuoto chiamato con lo stesso nome del file .sql ma non funziona. Ho anche provato a farlo con il client di comando mysql usando:

mysqldump -u root database > file.sql 

Ma dice che ho un errore nella mia sintassi SQL. Inoltre, non conosco il percorso in cui devo impostare il file.sql.


Sono stato in grado di importare mysqldump usando il seguente mysql> use mydatabase; mysql> source sql_file.sql;
Giridharan Venugopal,

Risposte:


49

Esportare:

mysqldump -u username –-password=your_password database_name > file.sql

Importare:

mysql -u username –-password=your_password database_name < file.sql 

9
Ci deve essere alcun spazio tra -pepassword
tombom

Cosa succede se non ho una password?

Quindi salta il parametro della password.
Kazimieras Aliulis,

Piping ( mysqldump db -uuser -ppass|mysql new_db -uuser -ppass) rimuove la necessità di utilizzare un file intermedio.
Pacerier,

2
Il database deve esistere in MySQL affinché funzioni, credo.
Noumenon,

28

Puoi anche importare un file .sql come utente già connesso nel modo database:

mysql> use your_database_name;

mysql> source file.sql;

3
fonte D: /path/file.sql; funziona alla grande! ricorda la barra frontale invece della barra posteriore.
Imdad,

6

Un altro modo per importare file di dump quando source <filename>non funziona è quello di fare quanto segue:

cumulo di rifiuti

~> mysqldump --user=<user> --password=<password> <db_name> > <export_file_name>.sql

Importare

> mysql -u <user> -p <pass> <db_name>
mysql> USE <db_name>;  (if you didn't already select)
mysql> \. ~/<export_file_name>.sql

5

la risposta di juergen d è ovviamente corretta; tuttavia, considerando il tuo messaggio di errore, puoi anche aggiungere al tuo file SQL nella riga iniziale come:

USE your_database_name;

Questo dovrebbe anche fare il lavoro e lasciarti importare in Workbench.

Quando si utilizza mysqldump, il file esportato verrà salvato nella cartella corrente. Non importa quale sia la strada. Proprio quando si importa dalla riga di comando, è necessario trovarsi nella stessa cartella o specificare il percorso del file. Ma questo non è il caso quando si utilizza uno strumento visivo come Workbench, in cui è comunque necessario selezionare il file dall'albero delle cartelle.


2

Manca la password al comando. Utilizza il seguente.

mysql --u [username] --password=[password] [database name] < [dump file]

1

Per Windows, nella directory di installazione del server MySQL (ad es. C:\Program Files\MySQL\MySQL Server 5.5), Nella my.ini file, aggiungere la seguente riga [mysqld]nella sezione server:

max_allowed_packet = 16M

E salva le modifiche. (Se non ti è permesso salvare, copia e incolla sul desktop e modifica di nuovo, quindi incollalo nella stessa posizione.)

Successivamente, riavvia il tuo server MySQL.

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.