To backup or restore a MySQL database, use the following commands:
Backup:
# mysqldump -u db_user -p[password] [database_name] > dump_file.sql
Restore:
# mysql -u db_user -p[password] [database_name] < dump_file.sql
The dump_file.sql file will include all the information necessary to drop and re-create any table contained therein. However, if you are using this dump / restore mechanism to keep a development database in a “as needed” sync with production, it would probably be best to add a step of entering into mysql and dropping / recreating the database. This is because the dump file will not remove any tables in your schema that are not contained in the dump file.
# mysql -u db_user -p > drop database database_name > create database database_name