There is a section in MySQL documentation that describes various techniques for backing up:
http://dev.mysql.com/doc/mysql/en/backup.html
Also, Jeremy Zawodny had a nice presentation at Oreilly Con about this topic, but maybe is a little outdated (it is from 2002). Here are the slides:
http://jeremy.zawodny.com/mysql/mysql-backup-and-recovery.html