0

Amazon EC2 サーバー インスタンスがあり、5 つの EBS ボリュームがアタッチされています。

  1. ebsvol1
  2. ebsvol2
  3. ebsvol3
  4. ebsvol4
  5. ebsvol5

このサーバーのプロビジョニング中に、MySQL サーバーをインストールし、データベースをセットアップする必要があります。ここでは、いくつかのテーブルを 1 つの EBS ボリューム (ebsvol1 など) にマウントし、他のテーブルを別のボリューム (ebsvol2 など) にマウントする必要があります。

私はこのAmazon環境の初心者です。進め方を教えてください。

4

1 に答える 1

4

この回答は、LINUX ベースのインスタンスに適用されます。

EBS ボリュームで実行するように MySQL をセットアップする方法を説明しているAmazon のこの記事から始めてください。これは厳密には必要ありません。次の手順は、標準の MySQL インストールで正常に機能するはずです。

EBS ボリューム/テーブル グループごとに新しいスキーマを作成する必要があります。テーブルを 1 つのスキーマに保持して、複数の EBS ボリュームに分散できるとは思えません。空の各スキーマは、 db.optという名前の単一のファイルを含む/var/lib/mysql/内のフォルダーによって表されます。

スキーマを独自の EBS ボリュームに移動するには、次の手順が必要です (スキーマmy_schemaを使用)。

  • まだマウントされていない場合は EBS ボリュームをマウントします ( /ebsvol1としてマウントされていると仮定)。再起動時に自動的にマウントされるように、ボリュームが/etc/fstabにリストされていることを確認してください

  • 現在のスキーマ フォルダと一致するように、マウントされたフォルダの権限を変更します

   chmod 700 /ebsvol1
   chown mysql /ebsvol1
   chgrp mysql /ebsvol1
  • db.optファイルをスキーマ フォルダから新しいボリュームにコピーします (スキーマの下に既にテーブルを作成している場合は、それらもコピーする必要があります)。
   cp /var/lib/mysql/my_schema/db.opt /ebsvol1/
   chmod 660 /ebsvol1/db.opt
   chown mysql /ebsvol1/db.opt
   chgrp mysql /ebsvol1/db.opt
  • 元のスキーマ フォルダを EBS ボリュームへのシンボリック リンクに置き換えます
   cd /var/lib/mysql
   rm -fr my_schema
   ln -s /ebsvol1 my_schema

オペレーティング システムが AppArmor を使用している場合、MySQL が書き込みを許可されているフォルダーのリストに /ebsvol1 を含める必要がある場合があります。詳しくはこちらの記事をご覧ください。

これで、 my_schemaの下に作成されたすべてのテーブルが /ebsvol1 に保存されます。

于 2012-05-24T16:25:19.137 に答える