パイプがどのように崩れたのですか?

パイプがどのように崩れたのですか?

私は今読んだ。この回答データベースの移行に関するDBA。これには次の文が含まれています。

唯一の問題は、データベースが大きすぎてパイプラインがクラッシュする場合です。

このパイプラインの内容は次のとおりです。

mysqldump --all-databases -uuser -ppassword | mysql -hremoteserver -uremoteuser -premoteserver 

そこには競合が記載されていません。だから私の質問は、パイプがどのように崩れるのかということです。 (この場合と一般的です。)Linuxに焦点を当てますが、他のUnicesも歓迎します。

答え1

SIGPIPEパイプのリーダーがパイプの端を閉じると、ライターは書き込みを試みるときに信号()を受け取ります。この信号は基本的に致命的ですが、捕捉することができます。

元の投稿の文脈で「衝突」とは、単にパイプのリーダー部分がリモートデータベースへの接続を開くmysqlプロセスであるため、ネットワークエラーが原因で接続が切断される危険性があることを意味すると考えられています。 、例えば。この場合、ビルダー部分が書き込みを続けている間、mysqlプロセスはエラーで終了します。

関連情報