sql >> データベース >  >> RDS >> Mysql

両方が同じスキーマを持っている場合、Mysqlで2つのデータベースを1つにマージできますか?

    mysqldumpを実行します --no-create-infoを使用して各データベースで スキーマ情報の書き込みを回避するオプション。次に、--no-dataを使用して1つのデータベースで1回実行します オプション。これらすべてのファイルを同じターゲットデータベースに順番にロードする場合、2つのデータベース間のスキーマの違いや主キーの重複を除いて、これは機能するはずです。

    mysqldump -u root -p --no-create-info database1 > database1.sql
    mysqldump -u root -p --no-create-info database2 > database2.sql
    mysqldump -u root -p --no-data database1 > schema.sql
    

    新しいデータベースを作成したら、

    を実行します。
    mysql -uroot -p -Ddatabase3 < schema.sql
    mysql -uroot -p -Ddatabase3 < database1.sql
    mysql -uroot -p -Ddatabase3 < database2.sql
    

    これも機能する可能性があります。 ATMでテストするためのWindowsボックスがありません

    type schema.sql database1.sql database2.sql | mysql -uroot -p -Ddatabase3
    



    1. JDBCまたはHibernateを使用して現在のデータベーストランザクションIDを取得するにはどうすればよいですか?

    2. SQLDiagnosticManagerのあまり知られていない10の機能をご覧ください

    3. mysqlでデッドロックを回避する方法

    4. 複数の列による行選択の順序