ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • MariaDB 설정 파일 개요와 구조
    카테고리 없음 2025. 10. 15. 15:01

    안녕하세요. 제스트 정보기술 기술지원팀 입니다.

    MariaDB의 설정 파일은 서버와 클라이언트의 동작을 제어하는 핵심 구성 요소입니다.

    일반적으로 my.cnf로 알려져 있지만, 실제로는 여러 개의 .cnf 파일로 나뉘어 구성되며,

    운영체제 종류나 설치 방식에 따라 구조와 위치가 달라질 수 있습니다.

    이번 글에서는 Linux 환경에서 대표적인 Red Hat 계열과 Debian 계열을 예시로 들어,

    MariaDB 설정 파일의 구조와 각 파일의 역할을 살펴보겠습니다.

    먼저 설치 환경은 아래와 같습니다.

    OS : Rocky Linux 9.5 & Ubuntu 24.04.2

    DB : MariaDB 10.11

    설치 방식 : yum, dnf, apt 등 패키지 관리자를 통한 설치 기준

    1. MariaDB 주요 설정 파일 구조 비교

    Red Hat / Debian MariaDB 기본 설정 구조

    RedHat 계열 (RHEL, CentOS, Rocky Linux 등)

    1. /etc/my.cnf

    Red Hat 계열 Linux 배포판에서 MariaDB가 가장 먼저 읽는 기본 설정 파일

    주로 !includedir /etc/my.cnf.d/ 지시어를 통해 하위 디렉토리의 파일들을 포함하며,

    본 파일 내 변수(파라미터)를 선언하는 것도 가능합니다.

    2. /etc/my.cnf.d/

    추가적인 설정 파일들을 저장하는 디렉토리

    .cnf 파일들은 사전순(알파벳, 숫자 포함) 으로 순차적으로 읽히며,

    나중에 읽힌 설정이 앞선 설정을 덮어씌우게 됩니다.

    따라서 동일한 파라미터를 여러 파일에서 중복 선언하지 않도록 주의해야 합니다.

    2-1. 주요 설정 파일

    - client.cnf -

    MariaDB 클라이언트 도구(mysql, mysqldump 등) 전반의 설정을 담당

    주요 항목 : port, socket, default-character-set 등 접속/인증과 관련

    - mysql-clients.cnf -

    client.cnf와 비슷하지만 mysqldump, mysqlbinlog 등 각 도구에 대한 개별 설정 파일

    - mariadb-server.cnf -

    MariaDB 서버 데몬(mariadbd 또는 mysqld)의 핵심 설정을 포함

    MariaDB 서버 전체가 적용 대상이며, 데이터베이스 서버가 구동되기 위한 핵심 설정이 정의됩니다.

    버퍼 설정, 접속자 수 제한, 로그 경로 등 성능과 안정성에 직결되는 항목을 포함하고 있으며

    클러스터링, 복제 등 고급 옵션도 이 파일에서 설정합니다.

    Debian 계열 (Debian, Ubuntu 등)

    설정 구조는 Red Hat 계열과 유사하지만, 더 세분화된 디렉토리 구조를 사용합니다.

    1. /etc/mysql/

    MariaDB 설정 파일들이 모여있는 기본 설정 루트 경로이며, 대부분의 설정 파일들이 위치합니다.

    2. /etc/mysql/mariadb.cnf

    - 역할 -

    레드햇 계열의 my.cnf와 유사하게, !includedir 지시어를 통해 mariadb.conf.d 등의 하위 디렉토리를 포함합니다.

    일반적으로 서버 또는 클라이언트 설정을 개별 파일로 분리하기 위한 중간 허브 역할을 합니다.

    - 특징 -

    /etc/mysql/my.cnf -> /etc/alternatives/my.cnf -> /etc/mysql/mariadb.cnf 순서로 심볼릭 링크 연결됨

    3. /etc/mysql/conf.d/

    MySQL 호환을 위한 클라이언트 도구 설정 디렉토리

    내부의 .cnf 파일 들이 레드햇 계열의 mysql-clients.cnf 와 유사한 역할을 수행합니다.

    4. /etc/mysql/mariadb.conf.d/

    MariaDB 서버 및 클라이언트의 상세 설정 디렉토리

    파일 명 앞 숫자 순으로 읽어오며, Red Hat과 동일하게 중복 선언 주의 필요

    4-1. 주요 설정 파일

    - 50-client.cnf -

    MariaDB 클라이언트 프로그램 설정 ( 예: mysql, mysqldump)

    레드햇 계열의 client.cnf 역할을 합니다.

    - 50-server.cnf -

    MariaDB 서버 데몬(mariadbd 또는 mysqld)

    레드햇 계열의 mariadb-server.cnf 역할을 합니다.


    위와 같이 일반적으로 알고 계신 my.cnf 뿐만 아니라 다양한 설정 파일로 세분화하여 설정 관리가 가능합니다.

    수동 설치 시 참고 사항

    패키지 관리자를 통해 설치 할 경우 기본 구조가 자동으로 생성 되지만,

    tar파일을 사용하여 수동으로 설치하는 경우에는 아래와 같은 방법을 사용 가능합니다.

    1. 미리 my.cnf등 설정 파일을 작성하여 업로드

    2. 설치 바이너리에서 제공되는 샘플(default_my.cnf) 사용

    ※ 해당 파일은 아래 경로에서 찾을 수 있습니다.

    MariaDB 10.11 [mysql경로]/mysql-test/include/default_my.cnf

    MariaDB 11.7 [mysql경로]/mariadb-test/include/default_my.cnf

    현재 MariaDB가 어떤 설정을 읽어오는지 확인

    ## 경로와 순서 확인 가능 mysqld --verbose --help | grep -A1 "Default options"

    다음 시간에는 my.cnf 파일 내 [client], [mysqld] 등 섹션에 대해서 알아보도록 하겠습니다.

    #오픈소스기술지원, #Redhat, #Apache설치, #Tomcat, #Wildfly기술지원, #와일드플라이기술지원, #레나, #lena, #엔진엑스설치, #RHEL기술지원, #MariaDBMS, #오라클, #티베로, #Postgresql

Designed by Tistory.