I came across a great article detailing how to accomplish Master-Master Replication on MySQL 5. While there are other technologies that could be used to create high availability MySQL instances, such as MySQL Cluster, these often provide a less-than-ideal solution because of the additional requirements they impose (e.g. the use of in-memory databases or a different storage engine). The solution provided in the article is to use circular replication. That is, if we have 2 databases, A and B: A is a master to B, while B is a master to A. Because each node acts as both a master and a slave, changes to either database get propigated to the other. Take a look at the article to find out more.