The most important part of keeping a database up and running is the machine it lives on. I usually make a machine compile the linux kernel a 100 times with a script and check the output logs for sig 11s. If the machine gets one, it is questionable in terms of reliability and shouldn't host a database until whatever problem it has is cleared up.
Also, fast, reliable hard drives in a mirror array (RAID1) or RAID1+0 or RAID5 are a good choice for keeping your system up in case of a single drive failure.
MySQL and Postgresql are both reliable when used on good hardware and run within their limits. While I'd give a slight nod to Postgresql's ability to handle incredible loads without dying, mysql isn't a slouch in the reliability department either, and it's ability to do replication means you can keep a copy of your live database up and running at all times on a spare box.
Spend money on quality hardware, test the dickens out of it for flaws, and your database will thank you.