At work every week or so I need to restore a 5+ GB mysql database because someone deleted or overwrote something accidentally (this has gotten better now that we don't delete anything). But it still happens and during the restore we're presented with a nice blank screen as it's doing it's work.

You can use the pv command to monitor the progress of the data going through a pipe. In our case we backup the data using mysqldump and then pipe it through gzip to take it down to a more reasonable file size. In the restore process we have to unzip it but we can restore it using a one liner:

pv mysqldump.sql.gz | gunzip |  mysql -uusername -p databasename