2012-04-01 25 views
2

私はLinuxサーバーを稼働していますが、現在格納されている場所ではなく、外部のハードドライブに保存されるようにMysqlサーバーの内容を変更することができますか?mysqlデータベースの場所を変更する

答えて

4

正確な方法は、MyISAMテーブルとInnoDBテーブルのどちらを使用しているかによって異なります。

MyISAMの場合、各データベースはテーブル、フォーマット、インデックスなどが入ったディレクトリです。これらのディレクトリはすべて通常/var/lib/mysql/ディレクトリにあります。別のボリュームに入れるには、datadir構成オプションを変更するか、/var/lib/mysql/をその新しいボリュームのマウントポイントに変更します。

InnoDBの場合、デフォルトでは同じ/var/lib/mysql/ディレクトリにある1つのファイルを使用します。新しいボリュームをマウントすることもできます。すべてのボリュームを別の場所に配置する場合は、構成変数を使用して正確な場所を変更することもできます。

また、InnoDBはファイルシステムをスキップして、パーティション全体またはブロックデバイス全体をデータストアとして使用できます。ほとんどの場合、想定される速度の向上はごくわずかなので、すでにボリューム管理環境が良好でない限り、通常は勧められません。

最後に、移動したいデータがすでにある場合は、mysqldプロセスをシャットダウンしてそこに移動する前に、/var/lib/mysql/ディレクトリ全体をコピーするのが最も簡単です。

1

その他の回答に加えて、私はMySQLのダンプ手順(おそらくmysqldump --all-databases)を持って、あなたのMySQLサーバーをクリアしてから再ロードすることをお勧めします。

もちろん、これは他の手法(内部のMySQLサーバを直接動かす)よりも少し遅いですが、データベースのバックアップや復元のスキルを発揮するという決定的な利点があります。必要に応じて、データベース構成をわずかに変更することもできます。

定期的に実行するデータベースバックアップ手順がありますようにお願いいたします。

関連する問題