Note

Last-modified: 2008-09-01 (月) 00:48:39 (3334d)

要するに覚え書きのページ。

MySQL

別PCへのデータ移行

元PCと移行先PCとで、MySQLのデータフォーマットとか何もかも同じならばデータファイルのディレクトリをごっそりコピーするだけで移行は可能。

データファイルが壊れた場合の復旧方法

単純なエラーの場合

多くは障害復旧用のコマンド「mysqlcheck」で事足りる。

mysqlcheck -u root -p -A -c

上記コマンドはrootユーザーで全データベースをチェックする。 エラーが見つかったら-rコマンドで修復する。

.frmファイルが壊れている場合

.frmはテーブル構造が記入されているファイル。これが壊れていると-rオプションでは復旧できない。構造がわからないんだから当たり前か。 こういう場合は以下の手順で復旧させる。

  1. 別のダミーデータベースを作成
    (sudo mysqladmin -u root -p create dmy)
  2. ダミーデータベースに入って全く同じ名称・同じ構造のテーブルを作成
  3. 作成したらmysqldを終了させる
    (sudo mysqladmin -u root -p shutdown)
  4. ダミーデータベースのデータファイルから.frmのみをコピーして壊れたデータベースのデータディレクトリにコピーする
  5. mysqldを起動
    (sudo mysqld_safe --user=**** &)
  6. mysqlcheckで再度チェックして修復されていることを確認