If you are running InnoDB, consider running your mysqldump command with the following options:
This will slow the execution enough that your production site should still stay somewhat performant and not just hijack the server until it completes.
There are associated concerns, of course, but this should get many users through a MySQL dump on a live site.
So, for those of you looking for a complete MySQLDump command example using these switches, try:
mysqldump -u dbusername -pYourPassword --single-transaction --quick schema_name > name_of_dumpfile.sql