MySQL バージョン 3.23.16 から、MySQL
ディストリビューションの
mysqld-max
および
mysql-max-nt
サーバが
-DUSE_SYMDIR
オプションでコンパイルされるようになりました。これにより、シンボリックリンクを設定して別のディスクにデータベースディレクトリを配置できます。
リンクの設定手順は異なりますが、機能は Unix
のシンボリックリンクと同様です。
Windows
では、対象ディレクトリへのパスが記載されたファイルを作成して
MySQL
データベースに対するシンボリックリンクを作成します。ファイル名
db_name.sym
を使用してデータディレクトリにファイルを保存します。この
db_name
はデータベース名です。
たとえば、MySQL データディレクトリが
C:\mysql\data
で、データベース
foo
を D:\data\foo
に配置する場合、パス名
D:\data\foo\
が記載されたファイル
C:\mysql\data\foo.sym
を作成する必要があります。このようにすると、データベース
foo
に作成されているすべてのテーブルが
D:\data\foo
に作成されます。
この作業には D:\data\foo
ディレクトリが存在している必要があります。また、データベース名のディレクトリが
MySQL
データディレクトリにあるとシンボリックリンクが使用されなくなるため、注意が必要です。言い換えると、すでに
foo
という名前のデータベースディレクトリがデータディレクトリにある場合、これを
D:\data
に移動しないとシンボリックリンクが有効にならないことになります(問題を回避するため、データベースディレクトリの移動時はサーバを実行しないでください)。
どのテーブルを開く場合でも速度が低下するため、これをサポートするように
MySQL
をコンパイルした場合でも、デフォルトでは有効化されていません。シンボリックリンクを有効化するには、my.cnf
または my.ini
ファイルを次のエントリに入力する必要があります。
[mysqld] symbolic-links
MySQL 4.0
では、シンボリックリンクがデフォルトで有効化されています。不要の場合は、skip-symbolic-links
オプションで無効化できます。
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.