오류: 바이너리 로깅이 활성화된 함수 선언에 "DETERMINISTIC, NO SQL 또는 READS SQL DATA" 누락
다음으로 데이터베이스를 가져올 때 MySQL에서 "1418 (HY000): 이 함수의 선언에 DETERMINISTIC, NO SQL 또는 READS SQL DATA가 없으며 바이너리 로깅이 활성화되었습니다." 오류가 발생하면 해당 함수에 적절한 선언이 없음을 나타냅니다.
해결 방법:
이 문제를 해결하는 방법에는 두 가지가 있습니다.
MySQL 콘솔 명령 실행:
<code class="mysql">SET GLOBAL log_bin_trust_function_creators = 1;</code>
이 명령은 비결정적 기능에 대한 검사를 완화하여 가져오기를 진행할 수 있도록 합니다.
mysql.ini 구성:
추가 mysql.ini 구성 파일에 다음 줄을 추가합니다.
log_bin_trust_function_creators = 1
설명:
바이너리 로깅은 데이터베이스에 대한 모든 수정 사항을 기록합니다. 기본적으로 MySQL에서는 데이터가 정확하게 복제될 수 있도록 선언에서 DETERMINISTIC, NO SQL 또는 READS SQL DATA로 선언되도록 데이터를 수정하는 함수가 필요합니다.
저장 함수에 대한 결정적 선언:
이러한 선언은 MySQL에 함수의 특성, 최적화 및 복제 결정 안내를 알려줍니다.
참고: 바이너리 로깅이 비활성화된 경우 log_bin_trust_function_creators 설정이 적용되지 않습니다. 따라서 적절한 결정적 선언이 지정되었는지 확인하는 것이 중요합니다.
제공된 솔루션 중 하나를 구현하면 오류를 해결하고 데이터베이스 가져오기를 계속할 수 있습니다.
위 내용은 바이너리 로깅이 활성화된 경우 MySQL에서 \'DETERMINISTIC, NO SQL 또는 READS SQL DATA\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!