SQLYogによるインポート・データのエクスポートで発生した問題


昨日、会社はあるデータベースのデータを他のデータベースにエクスポートしてインポートしようとしましたが、SQLYogはすでにこの機能を持っているので、直接2回キーを押せば済むと思っていました.しかし、これを使ってエクスポートするときは何の問題もありませんでしたが、別のデータベースにインポートするときはいつも問題が発生していました.Error Logを見てみると、一部のテーブルを作成できないため、外部キーリファレンスに問題が発生してDump全体が失敗したのです.何度も試してみたところ、まだだめだったのですが、その後はMysqlから提供されたコマンドで直接やります.問題はありません.コマンドは次のとおりです.

mysqldump -h somehost -u root -p --opt --databases some_db --single-transaction --flush-logs > d:/dumpfile.sql

このコマンドを実行したら、Mysqlにログインし、コマンドを使用します.

msyql>source d:/dumpfile.sql

この場合、SQLYogでデータをインポートしても問題はありません.エクスポートされたSqlファイルでテーブルの作成順序に問題が発生し、外部キー参照エラーが発生した可能性があります.
なぜSQLYogでデータをエクスポートするときに問題が発生するのか、以上のコマンドでは問題がありません.皆さんは似たような経験があるかどうか分かりません.
その後、データファイルが大きすぎてmaxを超えたようです.allowed_packetの上限は、インポートに失敗しました.データ量の大きいファイルをインポートするには、この変数の上限を大きくするには、次のようにします.

    set global max_allowed_packet=10000000;
    set global net_buffer_length=10000;
    

             :The maximum packet length to send to or receive from the server. (Default value is 16MB.) 

           :The buffer size for TCP/IP and socket communication. (Default value is 16KB.)