I read somewhere that MySQL can have a master / slave setup in which the master database can continue to run live and in production while the slave database can be turned off to snatch a backup. And then when the backup is complete, the slave database can be turned back on, and all the changes made in the master will be replicated over.
Is this considered high availability? Or does this also require that if the master fails, the slave take over? Or does that require something like vMotion from VMware?
High Availability (HA) is a very generic term that can be applied to a whole range of different scenarios.
There is no “one size fits all” approach to delivering High Availability (HA). Unique application attributes, business requirements, operational capabilities and legacy infrastructure can all influence HA technology selection. And technology is only one element in delivering HA: people and processes are just as critical as the technology itself.
At it’s most basic it simply means ensuring your entire system (of which the database is a part) is available to meet your required SLA, whether that be 99% availability, or 99.999% availability, or somehing else. The above link gives the official definition from MySQL.
Your use of a Slave database is one of many good reasons for using a MySQL slave. And at it’s most basic level, if your master fails, the slave could be manually promoted to be the master. Then you would set up the Master as the new slave once it had been recovered.
The below slide presentation gives a good overview of the main MySQL HA offerings.