The way we do it is installing each mysql instance from a
So if you had an 8 core box, and you wanted to use each of the 8
cores, you could install a mysql binary installation and then make 7
copies of it. We use an internal naming convention like the following:
Create a my.cnf under each of these mysql instance directories.
Then all you have to do is create a mysql start up script for each
of the instances in /etc/init.d.
The startup script needs to the following three variables set.
The datadir variable is contained under the rest of the mysql
installation. I usually put the logs under
This approach is very simple, and works quite well. We use it
instead of the multi_mysql startup/my.cnf approach.
The approach works particularly well when you have lots of IO, as
you said you did. We use this on large raid array DAS, and it works
If there is anything unclear about my explanation. Please do let me
know if you have any questions. I am happy to help.
On Jun 10, 2009, at 2:19 PM, Mike Spreitzer wrote:
> If I have a computer with many cores and multiple disks, disjoint
> filesystems on those disks, and enough I/O bandwidth in the machine to
> keep the disks busy, can MySQL keep those disks busy if I have it
> on different databases at the same time? If so, can one MySQL server
> process do that, or do I need multiple server processes? If one
> is enough, presumably I have to say something clever in my.cnf to
> make it
> happen; what would that be? If it can be done with multiple server
> processes, can I get that from one MySQL installation (and if so,
> how) or
> do I need to somehow fool my package management system (RPM on RHEL)
> doing multiple installations?
> Mike Spreitzer