$ mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]
Additionally, if you're on a control panel like Plesk or cPanel, they typically include PHPMyAdmin by default so you can use that. They also provide some site backup facilities as well but I'm not sure if the end user can do this or just the admin as I own the server so I have full control.
I prefer the command line script options because then you can set up cron jobs to do it daily and download it locally via an FTP program with a scheduler like CuteFTP. My databases are automatically downloaded nightly to my local computer so in the event of disaster I've only got a few customers missing from the copy of the database. Use a rolling backup, 7 days should be enough, with weekly or monthly baselines to avoid real disaster as once a file gets really mangled or hacked you're backing up bad data. I've seen people using weekly rollover backups without baselines not find out their database was really messed up until it had overwritten all 7 previous copies of the file. They had to resort to their last full site backup a couple of months old, it wasn't pretty.