Create the backup

mysqldump --add-drop-table -h [host] -u [user] \
-p [databasename] > [backupfile].sql

Optionally

Specify a table -

...[databasename] (tablename tablename tablename) ...

Add compression -

...[databasename] | bzip2 -c > backupfile.sql.bz2

Restore from backup

Create database if it doesn’t already exist (from inside mysql client)

mysql> create database [databasename]

Run the restore

mysql -h [host] -u [user] -p [databasename] < [backupfile].sql

Optionally

Uncompress before restoring -

bzip2 -d backupfile.sql.bz2