Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 27.1Mb
PDF (A4) - 27.2Mb
HTML Download (TGZ) - 7.2Mb
HTML Download (Zip) - 7.2Mb


5.3.1 複数のデータディレクトリのセットアップ

マシン上の各 MySQL インスタンスには、独自のデータディレクトリを持たせるようにします。場所は --datadir=path オプションを使用して指定されます。

新しいインスタンス用のデータディレクトリをセットアップするには、さまざまな方法があります。

  • 新しいデータディレクトリを作成する。

  • 既存のデータディレクトリをコピーする。

次に、それぞれの方法について詳しく説明します。

警告

通常、2 つのサーバーが同じデータベース内のデータを更新するようにするべきではありません。このようにすると、使用しているオペレーティングシステムが、障害のないシステムロックをサポートしない場合に、好ましくない意外な結果が生じるおそれがあります。(この警告にもかかわらず) 同じデータディレクトリを使用する複数のサーバーを実行し、これらのロギングが有効な場合、適切なオプションを使用して、各サーバーについて一意となるログファイル名を指定する必要があります。そうでなければ、サーバーは同じファイルにログを記録しようとします。

前述の予防策が遵守されたとしても、この種類のセットアップは MyISAM および MERGE テーブルでのみ機能し、ほかのストレージエンジンでは機能しません。さらに、データディレクトリを複数のサーバー間で共有することに対するこの警告は、NFS 環境では常に該当します。複数の MySQL Server が共通のデータディレクトリに NFS 経由でアクセスできるようにすることは、非常によくない方法です。主な問題は、NFS が速度のボトルネックになることです。これはそのように使用するためのものではありません。NFS のもう 1 つのリスクは、2 つ以上のサーバーが相互に干渉しないような方法を考案する必要があるということです。通常、NFS ファイルロックは lockd デーモンで処理されますが、現在のところ、どのような状況でも 100% の信頼性でロックを実行できるプラットフォームは存在しません。

新規データディレクトリの作成

この方法を使用すると、データディレクトリは MySQL を最初にインストールしたときと同じ状態になります。これは MySQL アカウントのデフォルトセットを持ち、ユーザーデータはありません。

Unix では、mysql_install_db を実行してデータディレクトリを初期化します。セクション2.10.1「Unix 類似システムでのインストール後の手順」を参照してください。

Windows では、データディレクトリは MySQL 配布に含まれています。

  • Windows 用の MySQL Zip アーカイブ配布には、未変更のままのデータディレクトリが格納されています。そのような配布を一時的な場所に解凍し、新規インスタンスをセットアップする場所にその data ディレクトリをコピーします。

  • Windows MSI パッケージインストーラは、インストールされたサーバーが使用するデータディレクトリを作成してセットアップするだけでなく、インストールディレクトリの下に data という名前の新しいテンプレートデータディレクトリも作成します。MSI パッケージを使用してインストールが実行されたあと、テンプレートデータディレクトリをコピーして、追加の MySQL インスタンスをセットアップすることができます。

既存のデータディレクトリのコピー

この方法を使用すると、データディレクトリ内に存在するすべての MySQL アカウントまたはユーザーデータは新しいデータディレクトリに引き継がれます。

  1. データディレクトリを使用する既存の MySQL インスタンスを停止します。これは、保留中の変更をインスタンスがディスクにフラッシュするクリーンシャットダウンである必要があります。

  2. 新規データディレクトリがあるべき場所にデータディレクトリをコピーします。

  3. 既存のインスタンスによって使用されるオプションファイル my.cnf または my.ini をコピーします。これは新規インスタンスの基礎となります。

  4. 元のデータディレクトリを参照するすべてのパス名が新規データディレクトリを参照するように、新規オプションファイルを変更します。さらに、インスタンスごとに一意でなければならない TCP/IP ポート番号やログファイルなど、ほかのオプションも変更します。インスタンスごとに一意でなければならないパラメータのリストについては、セクション5.3「1 つのマシン上での複数の MySQL インスタンスの実行」を参照してください。

  5. 新規インスタンスを起動し、新規オプションファイルを使用するよう指示します。


User Comments
  Posted by Mark Serlier on February 14, 2013
When using the Windows version of MySQL you should be aware that the MySQL 5.6 starts as the user NetworkService.

You should check the full control privileges on the new data directory/directories in order to let it access the new locations, otherwise the service won't start.
  Posted by sunny verma on December 16, 2013
Here is good tutorial to change mysql data directory without affecting database http://99webtools.com/Change-Mysql-data-directory-location.php
Sign Up Login You must be logged in to post a comment.