For small databases I’m personally use phpMyAdmin. For bigger databases (SQL dump is, let’s say, more than 5MB) I prefer backing up from command line using standard MySQL tool mysqldump:
mysqldump -h localhost -u username -p database_name > backup_db.sql
Such way it is easy to get compressed database backup:
mysqldump -u username -h localhost -p database_name | gzip -9 > backup_db.sql.gz
I hope I understand your question correctly, though I’m a little fuzzed with this: and will need to be backed up every data entry from the user. Please explain more in details, so I can update my question.