1) Managing your own Dedicated server
http://www.tldp.org
2) Multiple servers, one Mysql database:
I'm not sure what you're asking here: Is everything in 1 box?
If you're just hosting a couple (hundred - depending on the server's specs) domains on 1 box which all have to talk to the mysql server, you shouldn't have to do anything special.
If your load is high enough to warrant (or your going to be doing load balancing between 2 or more web servers) a central MySQL server, you'll want to look into replication for a redundant MySQL server. your firewall can test the upness of your primary and if it goes down can automatically route queries to the backup server.
3) Load balancing:
The easiest way to do this is through DNS, look through the tldp site above for "Round-robin DNS" (or just google for that).
If you want to get more complex than this, you can write a load balancing script on a firewall system in front of your servers which routes traffic accordingly - this is generally a better option because this can actually watch the load per server and route accordingly (whereas with a round-robin scheme, once a user has the server's IP it'll always hit that same server).
If you expect very high loads, you need to look into clustering, there are distributions specifically designed for this. Clustering is the "art" of making many computers act as one, big supercomputer.
4) Backing up your MySQL database:
I don't care what anyone says - the best "tool" for backing up your databases is that you copy the entire /var/lib/mysql folder to another system (tar/bzip it first).
A couple of these statements figure you'll have a coherent firewall in place. The most low-cost/full featured device you can get to this will be another *nix system, however, there are appliance products which will provide this sort of capability.
As a final note: This post doesn't belong in this forum, it should be in either the Unix/Linux forum (because it deals with server configuration) or the Hosting forum as mama soap suggested.