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
この問題は出なくなった
コメント