Redmine で使用している MySQL のデータベースのデータがどのディレクトリに格納されているのか知りたいのです。
後述の状況に記載致しました状況で、そのデータベースを移行すれば救出できるのではないかと考えたのですが。
救出できないでしょうか。
完全復旧でなくてもいいので、Redmine に登録していたデータを救出したいと考えています。
状況:
・ Redmine を稼働させていた OS が起動できなくなってしまいました。
・ HDD を入れかえ、新規 HDD に OS & Redmine 起動に必要なアプリケーションをインストール済
・ Redmine をインストールしていた 旧 OS の HDD を D ドライブとしています。
・ 以下、確認済み
・ 新 OS 上にインストールした Redmine が稼働できること
・ D ドライブ上に、後述の環境のフォルダやファイル群が存在していること
旧環境・新環境ともに:
・ Windows XP Professional with SP3
・ Redmine 0.7.3
・ ruby186-26
・ MySQL-5.1.30.-wi32
・ Subversion-1.5.3 (インストール済みですが、機能は使っていないです。)
よろしくお願い致します。
ご質問の内容はMySQLの範疇になるかと思います。
発生した問題は、OSの起動に関係する場所でのI/Oエラーだと
思いますので、普及は期待できると思います。
MySQLの書籍で「バックアップ・リストア」の個所を読んでみてください。
恐らく、その箇所に物理ファイルの場所の確認などもかいてあるんじゃないかと思います。
CentOS5.xでは/var/lib/mysqlが物理ファイルが格納されている場所のようです。
※結果の報告をしていただけると、ありがたいです。
2010年1月12日16:35 NNN777 <please....@gmail.com>:
> --
> このメールは Google グループのグループ「Redmine Users (japanese)」の登録者に送られています。
> このグループに投稿するには、redmine-...@googlegroups.com にメールを送信してください。
> このグループから退会するには、redmine-users-...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/redmine-users-ja?hl=ja からこのグループにアクセスしてください。
>
>
>
>
まだ復旧できておりませんが、途中経過を報告致します。
■ データベースの場所
以下のフォルダにあることがわかりました。
\Documents and Settings\All Users\Application Data\MySQL\MySQL Server
5.1\Data
( MySQL コマンド「show databases;」で表示されるデータベース単位でフォルダが存在していました。)
上記検証:
Redmine で使用しているデータベース名 (フォルダ名:Redmine)を削除し、 「show databases;」を実行すると、
Redmine が表示されなくなる。
■ 検証その1
前提事項:
2009/10 にパーティションレベルでバックアップしたものがあり復元してみたところ、Windows 、Redmine ともに起動でき、チケッ
トも 10 月までのもの
実施事項:
・ 復旧したい旧データベースを、リストアした起動できる環境のデータベースにコピー(つまり、 D ドライブ上の Redmine フォルダを、C
ドライブ上にコピー)
結果:
起動は可能だが、データは復旧されず。
具体的には、チケットは 10 月のまま。
■ 疑問点
Redmine に記録した情報は、データベース内ではなく他のフォルダ or ファイルで管理されているのでしょうかね。
というのも、
\Documents and Settings\All Users\Application Data\MySQL\MySQL Server
5.1\Data内の Redmine フォルダ内のファイル群について、
2009/10 時点と、起動できなくなった 2010/1 初旬まで使用していたものを比較したところ、
・ ともに、全ファイル更新日時が同じ(2008/12/27 18:06)
・ おそらくインストールした日時
・ ともに、ファイルサイズが同じ
・ 異なるファイルは、 Data 直下にあった remine.err
・ 2010/1 初旬のものが大きい
2009/10 までのものは 10 月の日時、2010/1 までのものは 1 月日時を予想していたのですが。
※
一年前から、個人で日々の生活情報や TODO などを、ブログ代わりに記録し始めたら、意外と便利で。
業務で使用しているものではないので、多少あきらめていますが、もう少しがんばってみます。
バックアップ分と変更がないファイル郡はおそらくテーブル情報が書かれているファイルではないでしょうか?
データ本体は、ibdata1、ibdata2、..、ibdファイルと、
ib_logfile0.ib_logfile2...などの Innodb ログファイルをリストア先に差し替えればいいと思われます。
当方linux環境しか手元にセットアップしていないのでどこにそれらがあるかわかりませんが、確認してみてください。
\Documents and Settings\All Users\Application Data\MySQL\MySQL Server
5.1\Data フォルダ直下に以下のファイルがありました
・ ib_logfile0
・ ib_logfile1
・ ibdata1
これらにデータが格納されているのですね。
ファイル名から、関係ないと思っていました。
(MySQL のデータ格納方法やサイズが固定であることを知らず、無知でお恥ずかしい限りです。)
以下のファイルの日付が 2010/01/10 となっていました。
・ ib_logfile0
・ ibdata1
Redmine を最後に使用した時期と思われます。
ただ、MySQL のサービスを止めてファイルを入れ替えると、MySQL が起動しない状態ですので、まだ時間はかかりそうですが、何よりも、データ
が残っていることがうれしいです。
以下を 2 点を実施してみましたが、ダメでした。
・ 3 ファイルのコピー
・ Data フォルダごとコピー
ですが、兆しが見えた気がします。
D ドライブの 旧 OS の HDD のバックアップをとってから、C ドライブに付け替え、OS の上書きインストール & MySQL のインス
トール後、MySQL のバックアップができないかなど、色々と方法を考えてみます。
ぬ○○○な○○○ さん
fmkt さん
Linux 環境でお使いなのに、アドバイスして頂き、ありがとうございます。
Windowsだと、my.ini に書いてあると思います。
チケットに添付しているファイルは、redmineのfilesにあるでしょう。
毎日バックアップされることをおすすめします。
Redmine.JP | Redmineのインストール | バックアップ
<http://redmine.jp/guide/RedmineInstall/>
チケットの添付ファイルの件、files にありますね。復旧できた暁には忘れないでおきます。
ありがとうございます。
ぬ○○○な○○○ さん、fmkt さん
ぬ○○○な○○○ さんの仰るとおり、MySQL の範疇ですね。
というのも、fmkt さんの仰ったファイルの置き換え方法だと、MySQL が起動しなくなります。
■検証その2
前提事項:
・ 新規 OS 環境で、MySQL をインストール
実施事項:
(1). Windows のサービスで MySQL を停止
(2). 以下 3 ファイルをバックアップし、どれか 1 ファイルを削除
・ ib_logfile0
・ ib_logfile1
・ ibdata1
(3). Windows のサービスで MySQL を開始
結果:
・ 以下のダイアログメッセージを表示
ローカルコンピュータのMySQLサービスを開始できません
エラー 1067:プロセスを途中で強制終了しました
・ 「ib_logfile0」(または、「ib_logfile1」または「ibdata1」)が作成される
・ 再度、Windows のサービスで MySQL を開始しても、同じダイアログメッセージを表示
その後、(2). でバックアップした同ファイルをコピーすると MySQL サービスが開始できました。
1 ファイルずつ試してみましたが、全て同様の結果でした。
以上から、MySQL に関する情報をググった方がいいと考えています。
みなさん、色々とアドバイスありがとうございました。
MySQL 関連を調べ、復旧できた暁にはご報告したいと思います。