To Backup Mysql Database
$ mysqldump -u [uname] -p[pass] [dbname] > [backupfile.sql]
[uname] Your database user name
[pass] The password for your database (note there is no space between -p and the password)
[dbname] The name of your database
The file name for your database backup
To Backup Mysql Database with compress
If your mysql database is very big, you might want to compress the output of mysql dump. Just use the mysql backup command below and pipe the output to gzip, then you will get the output as gzip file.
$ mysqldump -u [uname] -p[pass] [dbname] | gzip -9 > [backupfile.sql.gz]
If you want to uncompress you database file created in above step the use this command
$ gunzip [backupfile.sql.gz]
To Restore Mysql Database
To restore the database you need to create the database in target machine then use this command
$ mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]
To Restore Compressed Mysql Database
gunzip < [backupfile.sql.gz] | mysql -u [uname] -p[pass] [dbname]