Check out Giuseppe Maxia's MySQL Sandbox program. It is a very easy way
to run however many MySQL servers you want with separate config files
and such .. heck..even separate versions if you want (one 5.0, one 5.1,
one 6.0). It is available here: https://launchpad.net/mysql-sandbox
Will take you 10 minutes to set up if you have any perl experience
whatsover..otherwise it might take a half hour. Worth the time.
Google as there are several presentations on it available online.
Shain Miley wrote:
> Ok...based on the responses that I received so far...it seems like
> maybe I should be leaning toward a non virtualized solution.
> What I am wondering now is...
> 1) would it be better to have one MySQL instance running and have
> the developers each have their own DB inside that one instance?
> 2) would it be better to have each developer have their own MySQL
> instance on the same machine?
> 3) some combination of the above...maybe have the developers split
> between 2 or 3 MySQL instances on the same machine...
> Any thoughts?
> Thanks again,
> Simon J Mudd wrote:
>> smiley@stripped (Shain Miley) writes:
>>> I am looking into the idea of setting up 10 - 15 virtualized instances
>>> of MySQL. The reason for this is as follows...we are going to be
>>> setting up a 3 to 4 node MySQL replication cluster (1 master-rw and 2
>>> slaves-ro)...each having 16 to 32 GB of RAM.
>>> In order for our development team to do their work...they must have
>>> access to some Mysql resources that are close to the production
>>> environment. I am not currently in a position to provide each
>>> developer two MySQL servers (one master and one slave with 16 to 32 GB
>>> of RAM) for testing...or obvious reasons...mainly cost ;-)
>>> So I have been thinking about how best to provide such resources, at
>>> this point I am thinking that I can use OpenVZ to help me out a bit.
>>> I was wondering if anyone had any thoughts on this issue...should I
>>> just run 10 instances of MySQL on the same server...are there other
>>> I am concerned with trying to ensure that the metrics, resources,
>>> workloads, etc from these development servers has some sort of
>>> relevance to our production environment...otherwise we are testing
>>> apples and oranges...which the dev team will clearly point out...and
>>> in a way I know we are...but I would like to minimize the effects....
>> My only concern would be that if you have busy mysql instances that
>> they will interfere with each other. We used to have a couple of busy
>> mysqld processes running on the same Linux server only to find that
>> the performance characteristics were worse than 1/2 of the performance
>> of having each instance on a separate server. Both mysqld instances
>> were busy and so fought each other for I/O and for CPU often at the
>> same time. If this might be an issue for your virtual servers may not
>> be an ideal solution as most of the free virtualisation options don't
>> control sufficiently the hardware resources distributed to each
>> virtual machine.