How to use mysqlimport to read in result of mysqldump --databases
Asked Answered
N

3

22

I have successfully dumped an entire MySQL database using

mysqldump --databases

generating a nice .txt file. However, I can't see how to read the whole file back into MySQL in one go; mysqlimport seems to want just one table at a time.

Numerical answered 19/2, 2010 at 17:8 Comment(0)
F
58

When you've generated some file (say db-dump.sql) with mysqldump, you can import it to your other database with the mysql command :

mysql --user=XXX --password=XXX --host=YOUR_HOST DATABASE_NAME < db-dump.sql


And, if you don't want the password to appear in a command, you can use :

mysql --user=XXX -p --host=YOUR_HOST DATABASE_NAME < db-dump.sql


As a sidenote, if you want to copy one DB to another one, you don't need to use a file, and can just directly pipe the output of mysqldump to mysql :

mysqldump --user=XXX --password=XXX --host=SOURCE_HOST SOURCE_DB | mysql --user=XXX --password=XXX --host=DESTINATION_HOST DESTINATION_DB

(It should even be faster, as you're not using a temporary file that resides on disk)

Farron answered 19/2, 2010 at 17:28 Comment(1)
@Pascal MARTIN I was trying to do the same thing and didn't have success. Here is my thread explaining the problem: dba.stackexchange.com/questions/160879/…Pass
B
14

I do this frequently:

mysqldump -u username -p databasename > dump.sql

To load:

mysql -u username -p  targetdatabasename < dump.sql

Switch -p instructs the database to prompt you to enter the password for the user username once the command launches.

Your question is probably duplicate though.

Brownnose answered 19/2, 2010 at 17:11 Comment(0)
R
6

You can just use 'source' from within the mysql client:

source dumpfile.sql

Or supply directly from command line:

mysql -u user -p password database < source dumpfile.sql

This is because the result of mysqldump is just a SQL file that can be run via mysql as usual.

Reichstag answered 19/2, 2010 at 17:13 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.