2011-01-26 16 views
1

私は2つのmysqlデータベースを持っていますが、それぞれが同じでなければなりません。 1つは古いバージョンのスクリプトで作成され、もう1つは新しいリファクタリングバージョンになりました。2つのデータベースとmysqldumpの比較?

これらのデータベースが同一であることを示す必要があります。

私はそれぞれmysqldumpを取得し、それらをdiffと比較する考えがありましたが、明らかに単純ではありません。

mysqldumpでは、両方のファイルが完全に異なるようになっているようです(データが異なる行に表示されていることを容易に識別できます)。

mysqldumpの出力を注文する方法や、これらの2つのデータベースがまったく同じである(または違いを指摘しない場合)別の方法を使用する方法を探しています。

ありがとうございました。

+0

私はこれを次のように試しました:http://2skies.com/docs/Comparing_mysql_tables_with_mysqldump_and_diff しかし、結果は異なっています。 – chaimp

+0

http://www.mysqldiff.org/を無料で試してください –

+0

このスレッドをチェックしましたか:http://stackoverflow.com/questions/225772/compare-two-mysql-databases – hade

答えて

2

doc hereに役立つ--compatibleフラグがあります。

次の例のように、それをmysql最低バージョンを割り当てます:

mysqldump --compatible=mysql40 

ので、あなたの出力は、両方のバージョンで同じでなければなりません(彼らは4.0以上であると仮定すると、そうでない場合はmysql323を使用します)。

+0

これを試して、それは違いはありません。私は並べ替えられたデータを見ると同じであるように見える1つのテーブルを試していませんが、29709行はdiff出力にあります...あなたの答えをありがとう。 – chaimp

+2

@jeffpと同じ「ソートされたデータ」は、データが同じ方法で物理的に格納されていることを意味しません。 '--order-by-primary'オプションフラグを追加することができます。 – Simone

+0

それはうまくいきました、ありがとうございます。 – chaimp

0

私はMeldを使ってダンプを比較しています。うまくいく。