OS/Install & Modify

[Linux] MariaDB 10.6 수동 설치

PeamS 2025. 9. 15. 10:58

준비 & 테스트 환경

테스트 환경

  • rocky linux 9.4 (최소 설치)

https://mariadb.org/download/?p=mariadb&r=10.6.23&os=windows&t=mariadb

Source 로 준비합니다. wget 으로 직접 서버에 받아도 됩니다.

 

빌드 시 필요한 패키지 (환경에 따라 추가 패키지 설치가 필요할 수도 있음)

dnf install gcc gcc-c++ openssl-devel cmake zlib-devel ncurses-devel pcre2-devel

 

설치

압축 해제

cd /usr/local/src
wget https://tw1.mirror.blendbyte.net/mariadb///mariadb-10.6.23/source/mariadb-10.6.23.tar.gz
tar xvfz mariadb-10.6.23.tar.gz
cd mariadb-10.6.23

 

cmake 빌드 (원하는 환경에 맞게 수정 해야 함)

  • BASE 경로는 /app/mariadb
  • DATA 경로는 /data/mariadb
  • CHARSET, COLLATION 은 utf8
cmake . \
-DCMAKE_INSTALL_PREFIX=/app/mariadb \
-DMYSQL_DATADIR=/data/mariadb \
-DINSTALL_SYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci\
-DWITH_SSL=system \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_READLINE=1 \
-DWITH_ZLIB=system \
-DWITHOUT_TOKUDB=1

 

make & make install

make -j8
make install -j8
-j(숫자) : 사용할 CPU 개수를 지정하여 더 빠르게 빌드할 수 있다. (서버 CPU 개수, 부하 고려)

 

my.cnf 생성

cat <<EOF > /etc/my.cnf
[client-server]
!includedir /etc/my.cnf.d

[mysqld]
datadir=/data/mariadb
socket=/app/mariadb/mariadb.sock

symbolic-links=0

lower_case_table_names=1
collation-server=utf8_general_ci
character-set-server=utf8
skip-character-set-client-handshake
max-allowed-packet=16M

skip-name-resolve

log-error=/var/log/mariadb/error.log

[client]
socket=/app/mariadb/mariadb.sock
EOF

 

계정 생성 등 기타 작업

useradd mariadb

mkdir -p /app/mariadb
mkdir -p /data/mariadb
mkdir -p /var/log/mariadb
mkdir -p /etc/my.cnf.d

touch /var/log/mariadb/error.log

# 기본 데이터베이스 생성
/app/mariadb/scripts/mariadb-install-db --defaults-file=/etc/my.cnf

chown -R mariadb.mariadb /app/mariadb
chown -R mariadb.mariadb /data/mariadb
chown mariadb.mariadb -R /var/log/mariadb
chown -R mariadb.mariadb /etc/my.cnf.d/

 

systemd 파일 생성

cat <<EOF> /etc/systemd/system/mariadb.service
[Unit]
Description=MariaDB Database Server 10.6 (Custom Build)
After=network.target

[Service]
User=mariadb
Group=mariadb

ExecStart=/app/mariadb/bin/mariadbd --defaults-file=/etc/my.cnf --basedir=/app/mariadb

LimitNOFILE=10240
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
EOF

 

서비스 시작 & 자동시작

systemctl daemon-reload
systemctl enable --now mariadb

 

심볼릭 등록 (선택, 필요 시 다른 명령어도 등록하시면 됩니다.)

ln -s /app/mariadb/bin/mariadb /usr/bin/mysql
ln -s /app/mariadb/bin/mariadb-dump /usr/bin/mysqldump
아직까진 mysql 이름이 편하다..