I do this exact same thing, I have ~10+ OpenVZ guests and a single instance of MySQL running in one of the 10. This is a good approach if the following things are true:
- All the VM's using this DB won't overload it
- Running multiple individual MySQL instances in their own VMs would be more resource intensive
- All the guest VMs that are talking to the single instance of MySQL can be coordinated to have it (MySQL) down when doing maintenance, backups, etc.
From a technology standpoint OpenVZ can definitely do this, it really comes down to what expectations the applications and other VMs are expecting the database "service" to be available.
I think you're confusing the situation due to the technology being used. There is nothing inherent in OpenVZ that will disallow you from setting up this kind of architecture. OpenVZ will allow you to loosely "wall off" instances of applications and allow you to create multiple hostnames for the varying services, if you so choose, but otherwise it's no different then if you were to spin up 10 machines with 10 instances of Apache running on them, with a single host running MySQL.