一番簡単な方法は、MySQLのデータファイルをコピーして別の場所に置くこと。
データのコピー作業は、Linuxの基本操作でOK。
![]() | Linuxスーパーユーザハンドブック Technical Handbook (Technical Handbook Series) (2005/05/25) 吉田 智彦関根 達夫 商品詳細を見る |
以下のサイトを参考にした。
DBを置く場所を他の場所に設定する
デフォルトは /var/lib/mysql になっています。
DBの場所を /home/mysql/data/ に移してみることにします。
MySQLデータのバックアップ方法 - SourceForge.JP
MySQLサーバを休みなく稼働させ続ける必要がないなら、以下に示すような圧縮なしのオフラインバックアップ手法が手っとり早い。
1. MySQLサーバを停止させる。
# /etc/init.d/mysqld stop
2. MySQLのデータファイルおよびディレクトリをコピーする。例えば、MySQLのデータディレクトリ/var/lib/mysqlを/tmp/mysql-backupに保存する場合は、次のようにする。
# cp -r /var/lib/mysql /tmp/mysql-backup
cpの代わりに、rsync、tar、gzipなどのコマンドを使ってもよい。
3. MySQLサーバを起動し直す。
# /etc/init.d/mysqld start
●データを置く場所
同一サーバ内でコピーを置くなら、ユーザーデータ置き場として使われている「home」ディレクトリ内にMySQL用の「mysql」というディレクトリを用意すればOKと。
それか一時作業データ置き場である「tmp」でもOKと。
●MySQLのデータ構造
MySQLのデータを見ると、権限は「mysql」というユーザー名だった。
そのまんまのネーミングだな。
MySQLで「netshop」という名前のデータベースを作成していたら、そのデータは、
/var/lib/mysql/netshop
というディレクトリの中に、まとまって入っている。
データベースエンジンがMyISAMの場合、一つのテーブルにつき三つの関連ファイルで構成されていた。
MySQL 5.1 リファレンスマニュアル :: 6.6.1.2 Unix 上のテーブルに対するシンボリックリンクの使用
データディレクトリには常にテーブル定義ファイル(.frm) 、データファイル(.MYD) およびインデックスファイル(.MYI) がある。
データベース「netshop」の中に、「order」というテーブルがあれば、
・ order.MYD
・ order.MYI
・ order.frm
という3個1組のファイル群が対応している形になっている。
MySQL 5.1 リファレンスマニュアル :: 4.9.4.3 テーブルの修復方法
修復プロセスには、4 つの段階があります。
新しいインデックス ファイルを作成する必要があります。
インデックスファイル(MYI)はぶっ壊れても作り直せばOKみたいだが、他の二つは壊れたら修復が面倒なことになりそうと。
転ばぬ先の杖…バックアップは大事だな~。
ということで、バックアップを取ったら、MySQL+Senna(セナ)をインストールし直してみよう。
Senna 組み込み型全文検索エンジン
- 関連記事
-
- さくらのVPSでUbuntu
- ディレクトリだけchmodで再帰的に変更する方法
- Ubuntu10.04にIPMessengerをインストール
- mod-myvhostでサブドメイン管理
- UbuntuのDNS設定が分からない
- バックアップファイルの拡張子
- Ubuntuのアップグレードでconsole-setupを選択
- UbuntuでMySQLのバックアップ
- Ubuntuで.htaccessを有効にする方法 = CodeIgniter用の設定
- Ubuntu serverの文字化け対策
- 図解でわかる Linuxサーバ構築・設定のすべて
- Ubuntuで作るLinuxサーバー
- UbuntuとWindowsのデュアルブートの設定方法
- GRUBの設定で起動OSを変更
- UbuntuにIPMessengerをインストール