2010年5月13日

[mysql 15318] Re: InnoDBのfrmとibdのみでのデータ移行

木下です。

以下の話は一般ユーザーにとってはとても複雑なので、
正直、普通の上級者にもお勧めしません。。。
(何かあった場合に自分で.ibdのバイナリを読めるくらいじゃないと対処できないし、
 私はフォローできません。利用はあくまで自己責任で。。。)

私の1年前の記事です。

http://buildup-db.blogspot.com/2009/05/import-tablespace.html

XtraBackup で必要な情報を作成し、XtraDBで拡張された
"import tablespace"コマンドで取り込みます。
書いてあることが一箇所でも判らないならば、
悪いことは言いません。諦めましょう。
(最近は機能追加が多くて、
 XtraBackup-XtraDBのバージョンの組み合わせの問題も発生するかも。。。)

ソースが読めるなら、XtraDB の innodb_expand_import.patch
の該当部分を利用して、汎用の変換ツールを作っても良いと思います。
そちらにしても、普通のInnoDBでやるには、
内部テーブルをibdataから読み出す(場合によっては書く)腕前が必要です。
オフラインのibdataなら、同時に更新されることはないので
ファイルフォーマットさえ判れば必要な情報を取り出すことは
一貫性を気にしなくて良いぶんだけ簡単でしょう。

> 松永です。
>
> On Tue, May 11, 2010 at 03:54:29PM +0900, Mikiya Okuno wrote:
> > > にもibdataと.ibdをコピーせよと書かれています。
> > > ibdataが無い状態では、InnoDBはテーブルの復活はさせられないのでしょうか。
> > .ibdファイルだけだと移行は無理です。というのも、InnoDBの各データファイルには
> > 連番がつけられており、共有テーブルスペース(ibdata1)とセットではじめて
> > 正常に動作するからです。ibdata1内に記録された各.ibdファイルの番号と、
> > .ibdファイル内に記録された番号が一致していなければなりません。
> なるほど。ありがとうございます。
>
> > 未だ移行のメカニズムは(公式には)確立されていません。
> 非公式というか有志によるというかには、なにか魔術めいたbad
> knowhowがあるのでしょうか?
> もしよろしければポインタ等を教示いただけるとありがたいです。
>
>

--
木下 靖文
kinoyasu@xxxxx


投稿者 xml-rpc : 2010年5月13日 14:10
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/95743
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。