.cnf에서 sql_mode를 변경해도 @@sql_mode가 변경되지 않는 MariaDB 10.5의 이유는 무엇입니까?
MariaDB 10.5를 실행하는 Fedora Desktop 35, 약 한 달 전부터 완전히 새로 설치되었습니다.
왜 나의 변화는/etc/my.cnf/mariadb-server.cnf sql_mode변화하는@@GLOBAL.sql_mode그러나 그렇지는@@sql_mode?
제거하려고 합니다.STRICT_TRANS_TABLES나의sql_mode(INSERT에서 생략해야 하는 DATETIME NOT NULL 열이 있으며 기본값을 가정하도록 합니다.)내 시스템에는 거의 비어있는 간단한 MariaDB 설치가 있습니다./etc/my.cnf에 있는 모든 파일을 포함합니다./etc/my.cnf.d가 있는 곳에mariadb-server.cnf와 함께[server]설정할 수 있는 섹션sql-mode.
생략할 경우 https://mariadb.com/docs/reference/mdb/system-variables/sql_mode/ 에 지정된 대로 기본값은 다음으로 설정됩니다.STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION. 다람쥐를 통해 조회하여 확인SQL:
SELECT @@GLOBAL.sql_mode global, @@sql_mode;
global @@sql_mode
STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
기본적으로 둘 다@@sql_mode그리고.@@GLOBAL.sql_mode동치입니다.
에 추가하기mariadb-server.cnf([server]라인이 이미 있음):
[server]
sql_mode=ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
서버를 다시 시작할 때systemctl restart mariadb, 저널에 오류가 없습니다. 위에서 쿼리를 다시 실행합니다.
global @@sql_mode
ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
전 세계적으로sql_mode더 이상 가지고 있지 않은STRICT_TRANS_TABLES, 하지만 비지구적인 것은 그렇지요!왜, 그리고 내가 어떻게 할 수 있을까요?
엄격한 규칙이 적용되어 삽입이 여전히 실패합니다.
언급URL : https://stackoverflow.com/questions/70271204/mariadb-10-5-changing-sql-mode-in-cnf-does-not-change-sql-mode-why
'programing' 카테고리의 다른 글
| 호스트 시스템에서 도커 이미지는 어디에 저장됩니까? (0) | 2023.10.01 |
|---|---|
| ES6 Itable을 배열로 변환 (0) | 2023.10.01 |
| 셰프 ruby_block ShellOut mysql 결과 stdout 영원히 비어 있습니다. (0) | 2023.10.01 |
| Wordpress - Uncatched TypeError: wp.media가 함수가 아닙니다. (0) | 2023.10.01 |
| MacOS 시에라와 MySQL 호환성 (0) | 2023.10.01 |