ホームページ > データベース > mysql チュートリアル > MySQL アプリケーションが「準備されたステートメントを再準備する必要があります」という致命的なエラーをスローするのはなぜですか?

MySQL アプリケーションが「準備されたステートメントを再準備する必要があります」という致命的なエラーをスローするのはなぜですか?

Mary-Kate Olsen
リリース: 2024-11-29 07:03:10
オリジナル
503 人が閲覧しました

Why Does My MySQL Application Throw a

MySQL の致命的なエラーのトラブルシューティング:「準備されたステートメントを再準備する必要があります」

ホスティング サーバーへの最近の移行では、ユーザーMySQL ストアド プロシージャを使用して Web サイトにアクセスすると、永続的な致命的なエラーが発生しました。エラー メッセージは、準備されたステートメントを再準備する必要があることを示しました。

問題の調査中

「準備されたステートメントを再準備する必要があります」というエラーは、次の間の矛盾を示唆しています。ローカル環境とサーバー環境。この問題は、次のようなさまざまな理由で発生する可能性があります。

  • MySQL 構成設定
  • 互換性のないデータベース バージョン
  • クエリまたは接続の問題

解決策: MySQL 構成を調整

削除後他の潜在的な原因がある場合、問題は既知の MySQL バグ (#42041) に起因することが判明しました。推奨される解決策は、table_defining_cache 設定の値を増やすことです。

table_diction_cache は、MySQL がメモリにキャッシュするテーブル定義の数を決定します。値が低いと、定義が更新されたテーブルに遭遇した場合に、サーバーがプリペアド ステートメントを再準備する可能性があります。

MySQL 構成の更新

table_definition_cache 設定を調整するには、次の手順に従ってください:

  1. MySQL の my.cnf 構成を編集します。 file.
  2. 次の行を追加または変更します。

    table_definition_cache=<new_value>
    ログイン後にコピー

    Where 4096 や 8192 などの大きい値です。

  3. MySQL サービスを再起動します。

追加の考慮事項

ステートメントのキャッシュ他の要因にも影響される可能性があります。

  • ステートメント キャッシュに割り当てられるメモリの最大量を制御する MySQL max_statement_cache_size 設定。
  • MySQL がクエリ キャッシュを管理する方法を決定する query_cache_type 設定。

ステートメントに関するより包括的な情報については、MySQL ドキュメントを参照してください。キャッシュ。

この場合、ユーザーは table_definition_cache 設定の値を増やすことで問題を解決し、致命的なエラーを排除することができました。

以上がMySQL アプリケーションが「準備されたステートメントを再準備する必要があります」という致命的なエラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート