大きな SQL ファイルをロードする際の「ERROR 2006 (HY000): MySQL Server Has Gone Away」のトラブルシューティング
「ERROR 2006 (HY000)」 : MySQL サーバーが消えました」エラーは通常、次の操作を試みたときに発生します。サーバーの max_allowed_packet 設定を超える大きな SQL ファイルを処理します。このエラーは、プロセスが中断された場合にデータ損失につながる可能性があります。
max_allowed_packet について
max_allowed_packet は、MySQL サーバーが送受信できるパケットの最大サイズを定義します。デフォルトでは、この設定は 4MB に設定されていますが、大規模なデータの挿入やロードには不十分な場合があります。
max_allowed_packet 設定の確認
現在の max_allowed_packet 設定を確認するには、次のクエリを実行します:
SHOW VARIABLES LIKE 'max_allowed_packet';
設定がロードしようとしている SQL ファイル。値を増やす必要があります。
max_allowed_packet の調整
max_allowed_packet 設定を調整するには、my.cnf 構成ファイルを開いて追加します。次の行:
max_allowed_packet=64M
これを作成した後、MySQL サーバーを再起動します
代替ロード方法
max_allowed_packet を調整しても問題が解決しない場合は、次の代替方法を使用して SQL ファイルをロードしてみてください:
./mysql -u root -p my_db < file.sql
プロンプトが表示されたら、パスワードを入力します。このメソッドは接続を確立し、バッファリングせずにクエリをデータベースに直接送信します。
追加の考慮事項
次の手順に従うことで、問題のトラブルシューティングと解決を行うことができます。大きな SQL ファイルをロードすると、「エラー 2006 (HY000): MySQL サーバーが消えました」エラーが発生します。
以上が大きな SQL ファイルをインポートするときの MySQL の「ERROR 2006 (HY000): MySQL Server Has Gone Away」を解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。