On Wed, Nov 25, 2009 at 11:55 AM, Manasi Save <
manasi.s...@artificialmachines.com> wrote:

> Hi Johan,
>
> I am Sorry. If I have complicated the senerio But, this still not fix my
> purpose.
>
> What I want is - From your example :-
>
> /data/disk1/mysql/db1 (directory)
>                 /db2 (directory)
>                 /db3 (directory)
>                 /db4 (symlink to /data/disk2/mysql/db4)
>                 /db5 (symlink to /data/disk2/mysql/db5)
>                 /db6 (symlink to /data/disk2/mysql/db6)
>
> I dont want to create these directories here (/data/disk1/mysql/d4
> /d5
> /d6).


They're not directories, they're symlinks, which are (to the OS) a kind of
file, and thus not limited to 32000 per directory. They behave mostly
identical to a directory, though, so MySQL will pick them up seamlessly,
with the one hitch that you'll have to replace "create database" statements
by mkdir and ln calls on the OS level.

This is afaik the only way to do this on the MySQL level. It is impossible
to specify multiple base directories.

Another possible option, but higher in complexity and most likely less
performant, would be to run two instances of MySQL on different ports with
different data directories, and use MySQL Proxy to redirect incoming
connections based on whatever criterion you could script into it - "use
database" statements, for example. This is however going to come with it's
very own set of catches and limitations.

I'm not big on proxy, myself, so I'm afraid if the symlink option is not
acceptable to you, I can't help you any further.

Reply via email to