2012-02-03 1 views
1

ダンプファイルを分離するために、単一のデータベースの別々の領域をダンプするbashスクリプトを使用します。現在、ファイルは次の順序でダンプされています。MySQLデータベースのダンプインポートの順序(スキーマ、ルーチン、トリガー、イベント、データ)

  1. データベース、表およびビューのスキーマ。
  2. ルーチン。
  3. トリガー。
  4. イベント。
  5. データ。

ここで、私がいた場合、私はデータをどのような順序でインポートすべきですか? -

同じ順序でダンプをインポートする場合、データをインポートする前にトリガーをインポートするとインポート中にトリガーされるのでしょうか?

スキーマをインポートしてからデータをインポートする必要がありますか?私はこれを行うべきである特定の順序はありますか?

+0

のmysqldumpが提供する提案の順序が正しく、あなたも同じ順序に従ってください。明示的にトリガーをスキップしない限り、インポート中にトリガーがトリガーされます。 – ajreal

答えて

1

誰かが明示的に知る必要がある場合に備えて、私は自分自身で答えるでしょう。

@ajreal suggestedとして、最良の方法は、mysqldumpの出力に従います。そして、mysqldumpをのためには、次のとおりです。

  1. データベース
  2. テーブル
    1. テーブルスキーマ(INC制約。)
    2. 表データ
    3. 表は
  3. ビュートリガ - 一時テーブルをのみ!
  4. イベント。
  5. ルーチン。
  6. ビュー - 最終ビュー構造
+0

+1もう一つの微妙な違いは、データが読み込まれてからデータの読み込みが高速化され、高速なインデックス作成が利用できるようになるまで、セカンダリインデックスの作成を遅らせることです。この機能はPercona Serverのmysqldumpに追加されました。 –

関連する問題