mysql クライアントプログラムを使用してクエリーを発行し、次のようなエラーを受け取った場合は、mysql にクエリーの結果全体を格納するための十分なメモリーがないことを意味しています。
mysql: Out of memory at line 42, 'malloc.c'
mysql: needed 8136 byte (8k), memory in use: 12481367 bytes (12189k)
ERROR 2008: MySQL client ran out of memory
この問題を解決するには、最初にクエリーが正しいかどうかを確認します。 そのような多数の行が返されることが予想されるクエリーですか。 そうではない場合は、クエリーを修正して再試行してください。 予想される場合は、--quick
オプションを指定して mysql を呼び出すことができます。 これにより、mysql_use_result()
C API 関数を使用して結果セットが取得されるようになり、クライアントへのロードが少なくなります (サーバーへのロードが増えます)。