# arko(문화품앗이) MariaDB — /opt/arko-app/conf/mariadb.cnf # # 이 서버(27.255.76.2)는 llama-server가 200G+를 쓰는 GPU 추론 서버다. # 가용 메모리가 3G 안팎이라 버퍼풀을 384M로 묶고 컨테이너에도 768m 상한을 건다. # 늘리기 전에 반드시 `free -g` 로 여유를 확인할 것. [mysqld] # 원본은 Windows MySQL 8 (lower_case_table_names=1). Linux 기본값 0으로 두면 # iBatis SQL의 테이블명 대소문자가 어긋나 "Table doesn't exist"가 난다. # 이 값은 초기화(initdb) 시점에만 반영되므로 db-data를 비우고 다시 만들어야 바뀐다. lower_case_table_names = 1 character-set-server = utf8mb4 collation-server = utf8mb4_general_ci innodb_buffer_pool_size = 384M innodb_log_file_size = 128M innodb_flush_log_at_trx_commit = 2 max_connections = 150 max_allowed_packet = 64M table_open_cache = 400 tmp_table_size = 32M max_heap_table_size = 32M # 원본 MySQL 8 은 ONLY_FULL_GROUP_BY 가 켜진 상태로 운영되지만, 여기서는 빼야 한다. # MySQL 8 은 GROUP BY 컬럼에 대한 '함수 종속성'을 판정해 집계에 없는 컬럼도 통과시키지만 # MariaDB 는 그 판정을 하지 않는다. 같은 sql_mode 를 그대로 옮기면 로컬에서 잘 돌던 # 쿼리가 여기서만 터진다 (2026-08-26 관리자 메인 대시보드: 'Z.STATUS1' isn't in GROUP BY). # ONLY_FULL_GROUP_BY 제외는 MariaDB 의 기본값이기도 하다. sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION default_time_zone = '+09:00' slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log long_query_time = 3 [client] default-character-set = utf8mb4