Django で 2013, 'Lost connection to MySQL server during query' が出たので NO_ENGINE_SUBSTITUTION を無くした
DjangoMySQL
2021-11-14 11:10 (4年前)

Django で、MySQL (5.7) にクエリを出す時
(2013, 'Lost connection to MySQL server during query')
のエラーが出て、処理が停止するようになった。
まず、接続中の コネクションで、 innodb_strict_mode を見てみる
SHOW VARIABLES LIKE '%innodb_strict_mode%';
ON である必要がある。
https://django-mysql.readthedocs.io/en/latest/checks.html#django-mysql-w002-innodb-strict-mode
これは 既にONになっていた。
次に、sql_mode を確認する。
SELECT @@SESSION.sql_mode;
STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
MySQL サーバの、NO_ENGINE_SUBSTITUTION を外して再起動
STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER
この問題は出なくなった
評価をお願いします (会員登録・ログイン不要)
現在の評価: 1.0 (1)
関連記事
Django を 5.1 にアップグレードしたら、管理サイトの Inline で、プライマリーキーが表示される場所に `{'name': 'id', 'label': 'ID', 'help_text': '', 'field': 'id', 'is_hidden': True}` のような文字列が表示される場合の対応
django-allauth で、ソーシャルアカウントプロバイダーを決め打ちしてログインビュー・リダイレクトビューを返す (AWS Cognitoを使う時など)
MySQL でコレーションの違うフィールドで照合しようとして Range checked for each record が出た話
Django5にして依存ライブラリも更新したら、メール送信で SSL: CERTIFICATE_VERIFY_FAILED エラーが出るようになった
著者は、アプリケーション開発会社 Cyberneura を運営しています。
開発相談をお待ちしています。
開発相談をお待ちしています。