0
2つのdockerマシンで2つのmysqlデータベースとsqlalchemyを接続しています。Sqlalchemy - 全く同じスキーマを使ってデータベースから別のデータベースにデータをコピーする
これらはどちらも同じスキーマとデータを内部に持っています。
今私は2つのmysqlデータベースを1にマージするためにデータベースの1つのデータを別のデータベースにコピーしたいと思いますか?
2つのdockerマシンで2つのmysqlデータベースとsqlalchemyを接続しています。Sqlalchemy - 全く同じスキーマを使ってデータベースから別のデータベースにデータをコピーする
これらはどちらも同じスキーマとデータを内部に持っています。
今私は2つのmysqlデータベースを1にマージするためにデータベースの1つのデータを別のデータベースにコピーしたいと思いますか?
はい、次のことができます。あなたがこれをインポートするデータベースに
mysqldump --no-create-info {yourdbname} > {yourdbname}.sql
そして:あなたは上書きコピーするデータベース上の
実行この
mysql {yourdbname} < {yourdbname}.sql
あなたは主キーや重複レコードの問題が発生する可能性があります。残念ながら、変更された主キーを使用してデータをエクスポートするためにSQLを生成し、外部キーの関係をそのまま維持する必要があります。
手順は、情報スキーマを照会するために必要とされるこの第二の複雑な問題:
関連する外部キーには、関連するテーブルから同じ最大(プライマリキー)値を追加する必要があります。 書き込むコードはもう少し増えますが、50〜80行のストアドプロシージャでそれを行う必要があります。
2台のドッカーマシンに2台のデータベースがあるので、私の場合は可能です – pwan
あなたのデータに大きく依存します。 –
mysqldumpがファイル呼び出し{mydatabase} .sqlを作成すると、そのファイルを別のドッカーマシンに持ってきて、あなたが言った2番目のコマンドを実行できます。そうですか? – pwan