Unix の場合、データベースのシンボリックリンクは、まず、空き領域のあるディスクにディレクトリを作成し、次に MySQL データベースディレクトリからそのディレクトリへのシンボリックリンクを作成します。
shell>mkdir /dr1/databases/testshell>ln -s /dr1/databases/test mysqld-datadir
          MySQL は、1
          つのディレクトリに対して複数のデータベースをリンクさせることをサポートしていません。データベースディレクトリをシンボリックリンクに置換すると、複数のデータベースへシンボリックリンクを張らない限り、問題なく機能します。
          仮に MySQL データディレクトリにデータベース
          db1
          がある場合に、db1
          を指すシンボリックリンク db2
          を作成するとします。
        
shell>cd /path/to/datadirshell>ln -s db1 db2
          これで、db1 のテーブル
          tbl_a が、db2
          のテーブル tbl_a
          としても表示されます。あるスレッドで
          db1.tbl_a
          が更新され、別のスレッドで
          db2.tbl_a
          が更新されると、問題が発生します。
        
          このようにすることが実際に必要な場合は、mysys/mf_format.c
          で次のコードを変更する必要があります。
        
if (flag & 32 || (!lstat(to,&stat_buff) && S_ISLNK(stat_buff.st_mode)))
これを次のようにします。
if (1)
          Windows では、-DUSE_SYMDIR
          を使用して MySQL
          をコンパイルして、ディレクトリへの内部シンボリックリンクを使用できます。これによって、複数のデータベースを複数のディスクに配置できるようになります。
          See 項5.6.1.3. 「Windows
          上のデータベースに対するシンボリックリンクの使用」。
        
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.

