シンボリックリンクはデフォルトですべての
Windows
サーバーのため有効になっています。これにより、シンボリックリンクを設定することでデータベースディレクトリを別のディスクに設定することが可能となります。リンクを設定するプロシージャーは異なりますが、データベースシンボリックリンクが
Unix
上で作動するのと似ています。シンボリックリンクが必要ない場合、--skip-symbolic-links
オプションを使用して動作しないように設定できます。
On Windows
では、対象ディレクトリへのパスが記載されたファイルを作成して
MySQL
データベースに対するシンボリックリンクを作成します。ファイル名
を使用してデータディレクトリにファイルを保存します。この
db_name
.symdb_name
はデータベース名です。
たとえば、MySQL データディレクトリが
C:\mysql\data
で、データベース
foo
を
D:\data\foo
に配置したい場合。このプロシージャーを使用して
symlink を設定してください。
この作業には
D:\data\foo
ディレクトリが存在している必要があります。すでに
foo
という名前のデータベースディレクトリがデータディレクトリにある場合、これを
D:\data
に移動するようにしてください。そうしないと、シンボリックリンクは役に立ちません。問題を回避するために、データベースディレクトリの移動時はサーバーが稼働していないことを確認してください。
パス名 D:\data\foo\
を含むテキストファイル
C:\mysql\data\foo.sym
を作成します。
新しいデータベースとテーブルのパス名には絶対パスを使用するようにしてください。相対パスを使用する場合、その位置の基準は
foo.sym
ファイルになります。
この後、foo
データベースで作成されるすべてのテーブルは
D:\data\foo
内に作成されます。
Windows でデータベースのシンボリックリンクに
.sym
ファイルを使用する場合には、次の制限が適用されます。
MySQL データディレクトリにデータベースと同じ名前のディレクトリがある場合、シンボリックリンクは使用されません。
--innodb_file_per_table
オプションは使用できません。
mysqld
をサービスとして実行する場合、リモートサーバーにマップされたドライブをシンボリックリンクのリンク先として使用することはできません。回避方法として、フルパス
(\\servername\path\
)
を使用できます。