
2 つの MySQL データベース ファイル (*.db) を 1 つのデータベースに結合したいと考えています。両方のデータベースに同じテーブルがあります。これを行う簡単な方法はありますか?
答え1
2 つのデータベースが db1 と db2 であると仮定すると、次の操作を実行できます。
1) ロールバック オプション用に db1 と db2 のバックアップを取得します。
mysqldump -u<root> -p<pass> --databases db1 db2 > db1_db2.sql
2) db1 のバックアップを取得します (データのみ)。
mysqldump -u<root> -p<pass> --no-create-info db1 > db1.sql
3) db1 のダンプを db2 にロードします。
cat db1.sql | mysql db2
したがって、両方のデータベースに同じテーブルがある場合は、テーブルにデータが挿入されます。テーブルが存在しない場合は、エラーが発生します。これらのエラーをスキップして、次のように続行できます。
cat db1.sql | mysql -u<user> -p<pass> db2 --force