There seems to be lots of ways to get your databases out of a MySQL database and an even more bewildering array of ways to get it back in. I have found that the following commands seem to be the best way to do it (for me):
mysqldump –databases database_name -u username -p > dumpfile.sql
mysql -u username -p database_name < dumpfile.sql
Find the reference here.
15/02/10: Here is another variation on getting stuff out:
mysqldump db_name table1 table2 table3 -u username -p > dumpfile.sql