MYSQL 5.7 이전 버전부터 사용하다가 5.7 버전으로 업그레이드 한 경우 발생한다고 한다.
INSERT 를 수행할 경우 PHP 에서는 다음과 같은 에러를 발생한다.
==============================================================================
DB Access Error - debug_print_backtrace() OUTPUT START
ATTENTION: Enabling more debug info will produce path disclosure weakness (CWE-200)
Having this additional Information could be useful for reporting
issue to development TEAM.
==============================================================================
MYSQL 로그 등을 확인하면 다음과 같은 에러가 발생한다.
errorcode[1292]\n errormsg:Incorrect datetime value: \'0000-00-00 00:00:00\' for column \...
이는 MYSQL 의 strick sql mode 가 동작할 때 발생하는 것으로 이 중 NO_ZERO_DATE 가 동작하고 있어서라고 한다.
(참조 : https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_no_zero_date)
이 경우 다음과 같이 strick mode 를 disable 시켜 해결할 수 있다.
(필자의 경우 testlink 를 사용하던 중 발생하였고 이 경우 testcase 등을 추가할 수 없었다.)
/etc/mysql/conf.d/disable_strict_mode.cnf
파일을 수정한다. 없으면 생성한다.
[mysqld]
sql_mode=IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
를 추가하여 저장한 후 mysql 서비스를 재시작한다.
(필자의 경우 NO_ZERO_DATE 뿐 아니라 일반적으로 disable 시키는 옵션을 포함해 놓았다.)
'Engineering > __01. Mysql' 카테고리의 다른 글
[TIP] (0) | 2022.08.22 |
---|---|
CSV 파일 import (0) | 2020.07.29 |
[Mysql] 기본 (0) | 2017.07.05 |
기본 명령어 (0) | 2015.02.13 |